NC65编辑事件

本文介绍了如何在前端页面中编辑前后事件处理,如设置参照数据、查询条件,并展示如何在编辑前事件中操作表头和表体,包括添加表、设置查询、获取数据和处理自定义事件类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编辑前事件

<获取前端页面字段编码>
String key = e.getKey();
<获取前端页面字段参照数据模板>
BillCardPanel pane = e.getBillCardPanel();
UIRefPane refpenel = (UIRefPane) pane.getHeadItem(“belongpro”).getComponent();
PLProjectDefaultRefModel refmodel = (PLProjectDefaultRefModel)refpenel.getRefModel();
<添加所要关联的表>
refmodel.setTableName(tablename.toString());
<添加查询条件>
refmodel.setWherePart(String);
<获取参照数据的查询语句>
refmodel.getRefSql();
<获取表头字段数据>
Object pk_accperiod = pane.getHeadItem(“pk_accperiod”).getValueObject();
<获取表体字段数据>
Object pk_accperiod = pane.getBodyItem(“pk_accperiod”).getValueObject();
<获取指定页签表体总行数>
achieve为页签编码
int i = e.getBillCardPanel().getBillModel(“achieve”).getRowCount();
<给指定页签set值,置空>
e.getBillCardPanel().getBillModel(“achieve”).setBodyDataVO(null);

指定表头编辑前事件类文件

找到相关xml,若xml没有注册表头编辑前事件类可复制表头编辑后时间的作为参考
然后表头编辑后事件类名改成向指定的自定义表头编辑前事件类
如:
nc.ui.pubapp.uif2app.event.card.CardHeadTailBeforeEditEvent改成nc.ui.pubapp.uif2app.event.card.CardHeadTailBeforeEditEvent
nc.ui.hrppl.pjapplication.ace.handler.ZsyyAceHeadTailAfterEditHandler改成nc.ui.hrppl.pjapplication.ace.handler.ZsyyAceHeadTailBeforeEditHandler
在这里插入图片描述
新建的nc.ui.hrppl.pjapplication.ace.handler.ZsyyAceHeadTailBeforeEditHandler类实现IAppEventHandler接口
在这里插入图片描述
其他编辑前或编辑后事件亦是如此

编辑后事件

BillCardPanel billCardPanel = e.getBillCardPanel();
<给表头字段set数据>
billCardPanel.setHeadItem(“pk_budgettype”, String);
<给表头体字段set数据>
int row = 0;
e.getBillCardPanel().addLine();
e.getBillCardPanel().setBodyValueAt(avo.getCode(), row, “code”);
<获取指定页签指定表体行数据>
Map<String, Object> map = new HashMap<String, Object>();
map=billCardPanel.getBodyPanel(“tablecode”).getTableModel().getBodyRowValueByMetaData(1);
<获取指定页签所有表体行数据>
Map<String, Object>[] maps =billCardPanel.getBodyPanel(“tablecode”).getTableModel().getBodyValueByMetaData();
<参照字段set主键前端显示名称>
billCardPanel.getBillModel().loadLoadRelationItemValue();

### NC65 按钮编辑事件处理 对于NC65中的按钮,在执行特定操作之触发的事件通常被称为“编辑事件”。为了实现这一功能,可以采用拦截器模式来捕获并响应这些事件。 #### 创建自定义拦截器类 创建一个新的Java类`EditOADjtbInterceptor.java`,该类应继承自`ActionInterceptor`[^1]。此类用于监听和处理目标动作之的逻辑: ```java public class EditOADjtbInterceptor extends ActionInterceptor { @Override public void beforeInvoke() throws Exception { super.beforeInvoke(); // 自定义业务逻辑代码放置于此处 System.out.println("Button edit event triggered."); } } ``` 此段代码重写了父类的方法`beforeInvoke()`,当关联的动作即将被执行时会调用它。可以在其中加入任何必要的预处理逻辑或验证条件。 #### 配置XML文件 按照指定路径设置对应的XML配置文件,并确保其结构与系统预期相符[^2]。这一步骤至关重要,因为不正确的配置可能导致组件无法正常加载或工作。例如: ```xml <bean id="editOAInterceptor" class="com.example.EditOADjtbInterceptor"> </bean> <!-- 将拦截器绑定到具体的功能节点 --> <action-interceptor-ref bean="editOAInterceptor"/> ``` 通过上述配置,实现了将新创建的拦截器实例化并与特定的操作相连接的目的。 #### 测试与调试 完成以上两部分之后,建议先尝试编译项目并利用IDE工具(如Eclipse)提供的辅助功能——右键点击XML文件选择菜单项“Spring xml to Java”,以此确认配置无误。一旦生成过程顺利完成,则表明当环境下的依赖关系已被正确解析;反之则需仔细审查可能存在的错误之处。 最后重启应用服务器使更改生效,随后即可观察界面上新增加的控件是否能够按预期发出请求以及相应置处理器是否会得到激活。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值