如何扩展标准产品F7弹出窗口的功能
2012-06-16 23:41
375 查看
如何扩展标准产品F7弹出窗口的功能
第一步:编写扩展类,继承自com.kingdee.bos.ctrl.extendcontrols.KDCommonPromptDialog如下示例:
package com.kingdee.eas.custom.medianterface.client;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import com.kingdee.bos.BOSException;
import com.kingdee.bos.ctrl.extendcontrols.KDCommonPromptDialog;
import com.kingdee.bos.ctrl.swing.KDWorkButton;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.eas.custom.util.MediaUtil;
import com.kingdee.eas.fi.cas.PaymentBillFactory;
import com.kingdee.eas.fi.cas.PaymentBillInfo;
/**
*
在标准F7弹出窗的toolbar上添加一个按钮,并实现按钮的功能
*
@author
Tommy.Xiao
*/
public
class
UserKDCommonPromptDialog extends KDCommonPromptDialog {
public UserKDCommonPromptDialog() {
super();
}
//
@Override
protected
void dialogInit() {
super.dialogInit();
//请在此处修改F7弹出窗口,可进行添加按钮,菜单等
addUriButton();
}
protected
void addUriButton()
{
KDWorkButton bar = new KDWorkButton();
bar.addActionListener(new ActionListener(){
public
void actionPerformed(ActionEvent e) {
//实现按钮功能
ActionUri_actionPerformed(e);
}});
bar.setText("查看影像
");
getSkinRootPane().getBarPartAreaOfOrientation(1).getToolBars()[0].add(bar);
}
protected
void ActionUri_actionPerformed(ActionEvent e )
{
ArrayList list = getSelectedIdValues();
if(list.size() > 0){
String id = list.get(0).toString();
String oql = "select * where id='" + id +
"'";
try {
PaymentBillInfo payment = PaymentBillFactory.getRemoteInstance().getPaymentBillInfo(oql);
String barcode = payment.getBarcode();
MediaUtil.viewImg(barcode);
} catch (EASBizException e1) {
e1.printStackTrace();
} catch (BOSException e1) {
e1.printStackTrace();
}
}
}
}
第二步:选中单据上的F7控制。设置其defaultF7UIName属性值上一步定义的类全路径。示例如下:
第三步:发布上一步修改的UI元数据。在其扩展类的onload()方法中添加以下代码:
QueryAgent agent =
new QueryAgent();
MetaDataPK pk = new MetaDataPK("com.kingdee.eas.custom.medianterface.app",
"PaymentBillMediaQuery");
//具体的Query根据实际情况填写
agent.setQueryInfoPK(pk);
UserKDCommonPromptDialog userF7 = new UserKDCommonPromptDialog();
userF7.setQueryInfo(agent.getQueryInfo());
kDBizPayment.setSelector(userF7);
示例如下:
package com.kingdee.eas.fi.fa.manage.client;
import com.kingdee.bos.ctrl.extendcontrols.QueryAgent;
import com.kingdee.bos.metadata.MetaDataPK;
import com.kingdee.eas.custom.medianterface.client.UserKDCommonPromptDialog;
public
class
FaCurCardEditUICTEx extends FaCurCardEditUI{
public FaCurCardEditUICTEx()
throws Exception {
super();
}
@Override
public
void onLoad()
throws Exception {
super.onLoad();
QueryAgent agent = new QueryAgent();
MetaDataPK pk = new MetaDataPK("com.kingdee.eas.custom.medianterface.app",
"PaymentBillMediaQuery");
agent.setQueryInfoPK(pk);
UserKDCommonPromptDialog userF7 = new UserKDCommonPromptDialog();
userF7.setQueryInfo(agent.getQueryInfo());
kDBizPayment.setSelector(userF7);
}
}
相关文章推荐
- BOS中如何扩展标准产品的功能
- BOS中如何扩展标准产品的功能
- BOS中如何扩展标准产品的功能
- BOS中如何扩展标准产品的功能
- BOS中如何扩展标准产品的功能
- [WPF]如何实现设置UserControl 弹出窗口的Owner属性功能
- [WPF]如何实现设置弹出窗口的Owner属性功能?
- 如何扩展VB标准控件的功能
- [WPF]如何实现设置UserControl 弹出窗口的Owner属性功能
- EAS_BOS_标准产品如何扩展
- asp.net中弹出确认窗口(confirm),实现删除确认的功能
- 如何在产品功能维度评价APP
- Selenium-webdriver系列教程(六)————如何捕获弹出窗口
- JavaScript窗口功能指南之创建弹出窗口
- [导入]如何点击按钮弹出新窗口,输入数据后返回并刷新页面?(老孟)
- 产品经理如何来优化CSDN手机短信验证的功能
- 浏览器编程中如何处理弹出窗口
- 如何弹出一个模式窗口来显示进度条
- 如何在WebBrowser打开的网页链接后直接在WebBrowser打开而不是新弹出一个IE窗口来打开
- 弹出的模态窗口如何访问父窗口的变量?