UI方法调用顺序和UI常用操作

EditUI函数调用顺序:

EdittUI
	1 UIFactory.createUIFactory(UIFactoryName.MODEL).create(getEditUIName(), uiContext, null,OprtState.VIEW);
 	1.1传递UIContext()
  	1.2设置 setOprtState().

	2.EditUI()
	a.Super。构造函数
	b.jbInit()调用registerBindings();
	c. initLayout调用this.initUIContentLayout();
	                 this.initUIToolBarLayout();
                         this.initUIMenuBarLayout();
 	d. onLoad()
	   super.onLoad()
	   initWorkButton() 初始化界面按钮状态
 	   getTableForCommon() 返回当前表格是否可显示右键
       loadData(); 加载数据
		   If  (STATUS_ADDNEW) //新增
			{
			   If (getUIContext().get(UIContext.INIT_DATAOBJECT) != null)
					setDataObject(editData);
			   Else
					editData = (CoreBaseInfo) createNewData()
					setDataObject(editData);
			}	
		   else//其他状态 查看 编辑
			{
				inOnload();
				    |
					|->IObjectPK pk = new ObjectUuidPK(BOSUuid.read(getUIContext().get("ID").toString()));
					   setDataObject(getValue(pk));
			}
			loadFields(); 根据绑定将数据初始化至控件
        initSubmitOption()初始化连续新增和连续打印按钮状态
        doFieldPermission() 处理字段权限
        setTableToSumField();  设置合计字段
	appendFootRow(null) 添加合计行


	e. Onshow()
    	 super.onShow();
      	setDefaultButton() 设置缺省按钮
      	initUserConfig() 设置用户表格设置(在没有设置通用查询方案的情况下应用)
      	initKeyStroke() 初始化键盘
      	A Save
           storeFields(e);设置数据到editData
           verifyInput(e); 检验当前数据的合法性
           ranSave(editData);保存数据
           showSaveSuccess(); 显示提示消息。
         
        B Submit
           storeFields(e);设置数据到editData
           verifyInput(e); 检验当前数据的合法性
	       runSubmit(); 提交数据到数据库
	       showSubmitSuccess();提交成功提示
	       afterSubmitPerform(pk);提交后动作处理,新增后是连续新增还是打印,
	f. destroyWindow()
	super.destroyWindow()
           checkBeforeWindowClosing();在关闭前检查数据
      释放资源
	C释放当前窗体freeSwingObject(uiObject);

ListUI函数调用顺序:

1.UIFactory.createUIFactory(UIFactoryName.MODEL).create(getEditUIName(), 	uiContext, null,
	OprtState.VIEW);
  	A.传递UIContext()
  	B设置 setOprtState().
	2..ListUI()
	a.Super。构造函数
	b.jbInit()调用registerBindings();
	c.. initLayout调用this.initUIContentLayout();,this.initUIToolBarLayout();,
               this.initUIMenuBarLayout();
 	d. onLoad()
    	CoreUI:
	super.onLoad()
    	initWorkButton() 初始化界面按钮状态
    	getTableForCommon() 返回当前表格是否可显示右键
    	initKeyStroke()初始化表格键盘操作,删除,回车
    	initListener() 初始化表格监听器
     	actionQuery_actionPerformed(ActionEvent e) 通用查询
     	wfInit(); 初始化工作流
     	doFieldPermission(); 应用字段权限
	e.Onshow()
      	setDefaultButton() 设置缺省按钮
      	initUserConfig() 设置用户表格设置(在没有设置通用查询方案的情况下应用)
      	freezeColumn(); 设置冻结列
      	selectFirstRow()设置选择行,并触发tblMain_doRequestRowSet(RequestRowSetEvent e)
                    获取数据事件,填充表格数据
	f. destroyWindow()
	   super.destroyWindow()
           checkBeforeWindowClosing();在关闭前检查数据
      	释放资源
	C释放当前窗体

UI常用操作:

1、添加字段需要绑定及sic.add("");
2、getBizInterface()获得远程实体对象即factory.getremoteInstance();
3、createNewObject();新增时调用 用于初始化字段值;
4、过滤KDBizPromptBox显示的信息
   EntityViewInfo 实体显示信息 
   FilterInfo 字段过滤  相当于where
   KDBizPromptBox F7类型输入框
   EntityViewInfo view = new EntityViewInfo();
    	FilterInfo filter = new FilterInfo();
    	filter.getFilterItems().add(new FilterItemInfo("billStatus",new Integer(PrjMBillStatusEnum.AUDITED_VALUE)));
    	view.setFilter(filter);
    	prmtConstruction.setEntityViewInfo(view);
    	prmtConstrTeamRegister.setEntityViewInfo(view);

5、onLoad();在这里加入修改的控件状态;setVisible setEnabled setEntityViewInfo;
6、prmtConstruction_dataChanged 对应控件的事件处理函数;处理带出数据段等;
7、verifyInput()  输入保存时调用,用于验证字段
8、getUIContext() UI中传递值

写的不是很详细,希望能帮到大家!


posted @ 2012-05-01 21:08  范永强  阅读(183)  评论(0编辑  收藏  举报