用友 uap nc65开发编码树改为pk树方法

xiaoxiao2021-02-28  121

用友 uap   nc65开发编码树改为pk树方法 1.目标:现有节点树使用编码来排序,将其改为pk树排序。编码树和pk树的区别在我的博客中已经有讲解了。 2.第一步去掉TreeCreateStrategy 去掉 hierarchicalData。 或者修改 hierarchicalData指定成主键树 3.根据对象转换工厂,确保指定的主键和上下级主键都正确   如果是 md模式。如下图,则需要保证元数据上,制定的接口映射,完全正确    <!-- 对象转换器工厂,由此获取操作对象的特征信息 --> <bean id="BOAdapterFactory" class="nc.vo.bd.meta.GeneralBDObjectAdapterFactory"> <property name="mode" value="MD"/> </bean> 如果是按照VO的方式,则可以 <!-- 对象转换器工厂,由此获取操作对象的特征信息 --> <bean id="objectadapterfactory" class="nc.vo.bd.meta.UAPBDObjectAdapterFactory"> <property name="mode" value="VO" /> <property name="idFieldName" value="pk_head" /> <property name="codeFieldName" value="code" /> <property name="nameFieldName" value="name" /> <property name="pidFieldName" value="pk_father" /> <property name="orgFieldName" value="pk_org" /> <property name="groupFieldName" value="pk_group" /> <property name="multiLangAttribute"> <list> <value>name</value> </list> </property> </bean>4.修改元数据 pk_father字段,以便维护,参照自身元数据,以可以手工调整修改父目录 5. 修改addAction。 在新增的时候,给pk_father 赋值,为当前选择的树项的主键 <!-- Action部分 *********************************************************** --> <!--======= 动作:[newActions] [新增] =========== --> <bean id="addAction" class="nc.ui.fdc_pr.h3030405.ace.action.MyAddAction"> <property name="model"> <ref bean="hModel" /> </property> <property name="exceptionHandler"> <ref bean="exceptionHandler" /> </property> <property name="billform" ref="billForm"></property> </bean> package nc.ui.fdc_pr.h3030405.ace.action; import java.awt.event.ActionEvent; import nc.ui.pubapp.uif2app.actions.AddAction; import nc.ui.pubapp.uif2app.model.HierachicalDataAppModel; import nc.ui.pubapp.uif2app.view.BillForm; import nc.vo.bd.meta.IBDObject; public class MyAddAction extends AddAction { private BillForm billfrom; /** * */ private static final long serialVersionUID = -2583703804050441641L; @Override public void doAction(ActionEvent e) throws Exception { // TODO 自动生成的方法存根 super.doAction(e); HierachicalDataAppModel mode = (HierachicalDataAppModel) getModel(); if (mode.getSelectedData() != null) { IBDObject obj = mode.getBusinessObjectAdapterFactory() .createBDObject(mode.getSelectedData()); getBillfrom().getBillCardPanel().setHeadItem("pk_father", obj.getId()); } } public BillForm getBillfrom() { return billfrom; } public void setBillfrom(BillForm billfrom) { this.billfrom = billfrom; } }
转载请注明原文地址: https://www.6miu.com/read-65452.html

最新回复(0)