NC65的报销单据添加一个功能按钮

1.打开功能注册,找到相应的功能节点

打开路径 == 动态建模平台 =》开发配置 =》功能注册 =》找到自己要修改的节点,添加配置扩展文件
在这里插入图片描述

2.写一个按钮类,继承 nc.ui.uif2.NCAction

package nc.ui.arap.actions;

import java.awt.event.ActionEvent;
import nc.ui.pub.beans.MessageDialog;
import nc.ui.uif2.NCAction;

public class ButtonAction extends NCAction {
	private static final long serialVersionUID = -2558919894445992033L;
	private ErmBillBillManageModel model;
	private BillForm editor;

	public BaseBillImageAction() {
		super.setCode("buttonAction ");
		super.setBtnName("按钮");
	}

	/*
	按钮启用的方法,我这样写是要有数据的时候才允许点击
	*/
	@Override
	protected boolean isActionEnable() {
		if ((getModel().getSelectedOperaDatas() == null) || (getModel().getSelectedOperaDatas().length == 0)) {
	          return false;
	    }
	    return true;
	}
	/**
	  按钮触发执行的方法
	 */
	@Override
	public void doAction(ActionEvent arg0) throws Exception {
			MessageDialog.showErrorDlg(editor, "提示", "你点击了按钮");
	}

	public ErmBillBillManageModel getModel() {
		return model;
	}

	public void setModel(ErmBillBillManageModel model) {
		this.model = model;
		this.model.addAppEventListener(this); // 监听
	}

	public BillForm getEditor() {
		return editor;
	}

	public void setEditor(BillForm editor) {
		this.editor = editor;
	}
}

3.XML配置文件,路径要和你配置的一样,不然系统找不到

<?xml version="1.0" encoding="UTF-8"?>
 
<!DOCTYPE beans PUBLIC ".//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	
		<!-- 
		<bean class="nc.ui.pubapp.plugin.action.InsertActionInfo">
			<property name="actionContainer" ref="容器id,从原有的配置文件找" />
			<property name="actionType" value="notedit或者edit" />
			<property name="target" ref="放在哪个按钮之前或者之后" />
			<property name="pos" value="after或者before" />
			<property name="action" ref="自己的按钮类" />
		</bean>
	 -->
	<bean class="nc.ui.pubapp.plugin.action.InsertActionInfo">
		<property name="actionContainer" ref="editorActions" />
		<property name="actionType" value="notedit" />
		<property name="target" ref="printActionGroup" />
		<property name="pos" value="after" />
		<property name="action" ref="buttonAction" />
	</bean>
	
	<bean class="nc.ui.pubapp.plugin.action.InsertActionInfo">
		<property name="actionContainer" ref="listViewActions" />
		<property name="actionType" value="notedit" />
		<property name="target" ref="listprintGroup" />
		<property name="pos" value="after" />
		<property name="action" ref="buttonAction" />
	</bean>
	
	
    <bean id="buttonAction" class="nc.ui.erm.billinput.action.ButtonAction">
       	<property name="model" ref="manageAppModel" />       	
    </bean>
</beans>

4.试一下右键这个xml文件,点击SpringxmlToJava能否生成java代码,一般是可以生成的,我用的是eclipse。如果生成成功,说明写的xml配置文件没问题,没生成成功就检查一下配置,实在检查不出问题就不用生成java文件了。

5.基本完成综上4步操作,重启一下中间件,重新打开界面按钮应该就可以出来了。

在这里插入图片描述
在这里插入图片描述

6.可能出现的问题,按钮还是出不来怎么办?

1.检查一下xml文件,看是不是参数写错了。然后我这种写法是pubApp的,不行可以换UI工厂2的写法,虽然感觉都一样,写法如下
    <bean class="nc.ui.uif2.uiextend.ActionExtInfo">
	    <property name="actionContainer" ref="listViewActions" />
	    <property name="uistate" value="NOTEDIT_STATE" />
	    <property name="targetAction" ref="listprintGroup" />
	    <property name="position" value="AFTER_POSITION" />
	    <property name="extType" value="INSERT_EXTTYPE" />
	    <property name="action" ref="buttonAction" /> 
    </bean>
2.检查一下系统自带的xml配置文件,看是否支持扩展,我也是被这个问题困扰了几天,没想到啊!! 在这个我画的配置文件是支持扩展的配置文件,我的做法是把pubapp配置里的添加按钮配置一行代码写到这个公共的配置去了,部署的时候最好看一下这个文件有没有被人改过

在这里插入图片描述
3.实在不行就修改源码吧,虽然不太好。再不行就没办法了,我也还没遇到过。

好好学习,天天向上,加油,奥利给!!!!!!!!!!!!!!

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搬砖的小庄啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值