zoukankan      html  css  js  c++  java
  • 金蝶BOS开发中Edit编辑界面和List叙事薄界面需要写的代码

    本人刚开始从事金蝶EAS开发,对于这个也是刚刚解除,下面是一些学习整理,

    EditUI中的代码

    public class MyBillEditUI extends AbstractMyBillEditUI
    {
        public MyBillEditUI() throws Exception
        {
            super();
        }
        //把数据对象加载到当前UI界面相应的控件
        public void loadFields()
        {
            super.loadFields();
        }
        //同步当前UI业务数据到数据对象
        public void storeFields()
        {
            super.storeFields();
            
        }
        //进行某些控件或数据设置
        public void onLoad() throws Exception {
            IColumn column = this.kdtEntries.getColumn(1);
            column.getStyleAttributes().setLocked(true);
    	 super.onLoad();
            this.actionSubmit.addService( new ForewarnService() ) ;
            this.actionSubmit.addService( new WorkFlowService() ) ;
            this.actionSubmit.setBindWorkFlow( true ) ;
       }
    //创建新的数据对象,并设置初始值
    protected IObjectValue createNewData() {
    	MyBillInfo result = new MyBillInfo();
    	result.set*(value);
    	result.getEntries();
    	return result;
    } 
    //创建分录数据对象,并设置初始值
    protected IObjectValue createNewDetailData(KDTable table) {
         return new MyBillEntryInfo();
    }
    //获取分录table
    protected KDTable getDetailTable() {
        return kdtEntries;
    }
    //获取业务接口
    protected ICoreBase getBizInterface() throws Exception {
       return MyBillFactory.getRemoteInstance();
    }
    //检验数据的合法性,并抛出异常
    protected void verifyInput(ActionEvent e) throws Exception {
        if (this.getDataObject()==null){ throw new Exception();}
    }
    //设置某些字段==null  
    protected void setFieldsNull(AbstractObjectValue newData) {
           newData.set**(null);
    }  
    //保存数据
    public IObjectPK runSave() throws Exception {
       //设置editData的某些值
       super.runSave();
    }
    //同runSave
    public IObjectPK runSubmit() throws Exception
        {
       …
       super.runSubmit();
    }
    //修改后是提交或暂存 true为暂存 false为提交
     protected boolean isModifySave()
     {
          return false;
     }


    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 类是客户端叙事簿界面对应的类



  • 相关阅读:
    从寻找资源的习惯上谈如何获得好的代码及控件(使用Koders查找)
    数据仓库的一些基本知识2
    淘宝API开发系列商家的绑定
    淘宝API开发系列开篇概述
    读取实体类的属性的备注作为表头的应用
    设置Windows服务允许进行桌面交互,实现屏幕监控
    C#进行Visio二次开发之组合形状操作
    吉日嘎啦通用权限管理系统解读及重构升华高度封装的编辑窗体
    WinForm界面开发之模块化分合
    CLR中的内存管理
  • 原文地址:https://www.cnblogs.com/fyq891014/p/2990436.html
Copyright © 2011-2022 走看看