本人刚开始从事金蝶EAS开发,对于这个也是刚刚解除,下面是一些学习整理,
EditUI中的代码
ListUI中的代码 public class MyBillListUI extends AbstractMyBillListUI { public MyBillListUI() throws Exception{ super(); this.setUITitle("单据测试"); } /** *把数据对象加载到当前UI界面相应的控件,针对序事薄没有用处 */ public void loadFields(){ super.loadFields(); } /** *同步当前UI业务数据到数据对象,针对序事薄没有用处 */ public void storeFields(){ super.storeFields(); } /** *提供序事薄需要打开的编辑界面UI的类名 */ protected String getEditUIName() { return MyBillEditUI.class.getName(); } /** *返回当前业务的远程或本地业务接口 */ protected ICoreBase getBizInterface() throws Exception { return MyBillFactory.getRemoteInstance(); } /** *由开发人员提供当前table的主键字 */ protected String getKeyFieldName() { return "id"; } /** *如果业务需要融合某些列,需要提供这些列的key(即融合单据头) */ public String[] getMergeColumnKeys(){ String[] mergeColumn = new String[2]; mergeColumn[0] = new String("id"); mergeColumn[1] = new String("number"); return mergeColumn; } /** *要在状态栏显示当前的单据条数,需要业务返回计算单据条数的字段 */ protected String[] getCountQueryFields(){ return new String[] {“id“}; } /** *可以指定当前窗口的打开模式,默认情况下不用指定 * UIFactoryName.MODEL,UIFactoryName.NEWWIN,UIFactoryName.NEWTAB */ protected String getEditUIModal(){ return UIFactoryName.MODEL; } /** *是否需要进行表格排序,业务可以覆盖返回false,屏蔽点击单据头排序动作 */ protected boolean isOrderForClickTableHead(){ return true; } /** *返回不需要排序的表列数组,默认返回null */ protected String[] getNotOrderColumns(){ return null; } /** *可以在父类的onload后做一些自己的事情 */ public void onLoad() throws Exception { super.onLoad(); //如设置滚动条隐藏 //this.getMainTable().setScrollStateVertical(KDTStyleConstants.SCROLL_STATE_HIDE); } /** *允许构造传递给EditUI的UIContext,继承类实现 */ protected void prepareUIContext(UIContext uiContext, ActionEvent e){ super.prepareUIContext(uiContext,e); //传递自己的上下文参数或其他值 uiContext.put(key,value); } /** *关闭窗口 */ public boolean destroyWindow() { super.destoryWindow(); //做自己的一下销毁动作 } }
EditeUI 类是客户端编辑界面对应的类
ListUI 类是客户端叙事簿界面对应的类