用友NC自定义按钮设置

用友NC自定义按钮设置
用友NC自定义按钮设置

第一步:在接口中定义自定义按钮的整数值

package nc.ui.fk.pub.button;// client目录下

public interface PubPrivateButton {

//自定义按钮:写入表体 --cqy--//

int SaveToBody = 215;

}

第二步:在VO类中设置按钮的各个属性

package nc.ui.fk.pub.button;// client目录下

import nc.vo.trade.button.ButtonVO;

public class PubPrivateButtonVO {

/**

*单据文档管理按钮

*@return btnVO

*/

/**

*@author cqy

*@return返回自定义按钮

*@function设置自定义按钮"写入表体"的各个属性

*@Date2007-11-19上午11:05:10

*/

public nc.vo.trade.button.ButtonVO getSaveToBodyVo(){

ButtonVO btnVO = new ButtonVO();

btnVO.setBtnNo(PubPrivateButton.SaveToBody);

btnVO.setBtnCode("写入行");

btnVO.setBtnName("写入行");

btnVO.setHintStr("写数据写入所选行对应字段");

btnVO.setBtnChinaName("写入行");

btnVO.setOperateStatus(new int[]{//设置以下操作状态下可用

nc.ui.trade.base.IBillOperate.OP_REFADD,//参照增加时可用

nc.ui.trade.base.IBillOperate.OP_EDIT,//编辑时可用

nc.ui.trade.base.IBillOperate.OP_ADD//添加时可用

});

btnVO.setBusinessStatus(new int[]{ nc.vo.trade.pub.IBillStatus.ALL});

return btnVO;

}

第三步:在对应的Ctrl类中将自定义按钮添加到卡片或列表

public int[] getCardButtonAry() {

return new int[] { IBillButton.Brow,IBillButton.Add, IBillButton.Edit, IBillButton.Query, IBillButton.Delete, IBillButton.Cancel,

IBillButton.Save,IBillButton.Line, IBillButton.Return ,

PubPrivateButton.SaveToBody};

}

第四步:在单据UI类中初始化自定义按钮,使单据在初始化时加载自定义按钮//初始化表单按钮 --cqy--//

protected void initPrivateButton(){

//获取自定义按钮:"写入表体"

ButtonVO saveToBodyButton = (new

PubPrivateButtonVO()).getSaveToBodyVo();

addPrivateButton(saveToBodyButton);//添加自定义按钮:写入表体

super.initPrivateButton();

}

第五步:在EventHandle类中编写自定义按钮的功能操作

protected void onBoElse(int intBtn) {

if (intBtn == PubPrivateButton.SaveToBody) {

saveToBodyReal();

}

}

private void saveToBodyReal() {//这个代码就不用写了吧

……

……

}

相关主题
相关文档
最新文档