文档详情

NC开发流程一览表.doc

发布:2017-08-18约2.3万字共21页下载文档
文本预览下载声明
单表体的卡片型单据制作 单表体的单据:指装载界面数据的聚合VO表头为空,只存在一组表体VO。UI工厂设计了借口ISingleController,单表体单据界面控制类应实现此借口,并实现isSingleDetail方法。 前期准备:单据注册,模板初始化等等,在构造好类框架后要修改界面控制类。 注册单据类型 注册VO对象 如下: public String[] getBillVoName(){ Return new String[]{ SampleVo.class.getName(), SampleHeadVO.class.getName(), SampleHeadVo.class.getName(), }; } public String getPKField(){ Return “pk_sample”; } public String getChildPKField(){ Return “pk_sample”; } 注意此时的表头,表体的VO类一致。 3.是否走平台 public int getBusinessActionType(){ Return nc.ui.trade.businessaction.IBusinessActionType.BD; } 4.注册按钮 public int[] getCardButtonAry(){ Return new int[]{ IBillButton.Query, IBillButton.Add, IBillButton.Edit, IBillButton.Line, IBillButton.Save, IBillButton.Cancel, IBillButton.Refresh, }; } 最重要的一步,实现isSingleDetail方法。 public Boolean isSingleDetail(){ //单表体 Return true; } ISingleController用来支持但表头或单表体的单据,因此,当isSingleDetail方法返回true时,单据为单表体;当返回false时,单据为但表头。 单表头的卡片型单据制作 除了显示有很大差异外,单表头于单表体的唯一区别在于isSingleDetail方法的返回值。另外,在单表头界面增加浏览按钮和去掉行操作按钮。 虚拟主子表的卡片型单据制作 虚拟主子表单据:指的是那种数据来源于一张表,却根据(自定义的)特定规则虚拟主子表的结构,将一部分放到表头,剩下的字段放到表体的单据。它通常用于数据的分组,即把数据根据(自定义的)特定字段的值进行分组。字段值相等的数据自然的被归为一类,然后,把特定字段放到表头显示,属于它的一组数据在表体列表显示,形成了标准主子表的结构。 由于数据分组的特定规则取决于业务,因此UI工厂无法做缺省的实现。但加载数据库数据一般都在查询时完成,所以可以定制查询事件的行为,这需要为单据创建按钮事件处理器,并重载查询时基类调用的方法。加载数据的步骤如下: 第一步,与前面的步骤一样,并配置好界面控制器类。 在UI类重载按钮事件处理器类的方法,如下: Protected CardEventHandler createEventHandler(){ Return new SampleCardEventHandle(this.getUIControl()); } 构造按钮事件处理器类,重载onBoQuery方法。如下: Protected void onBoQuery() throws Exception{ UIDialog querydialog = getQueryUI(); If(querydialog.showModel())==(INormalQuery)querydialog; String strWhere=query.getWhereSql(); If(strWhere==null) strWhere=”1=1”; strWhere=”(”+strWhere+”) and (isnull(dr,0)=0)”; //将查询对话框条件加到整个查询条件后 If(getHeadCondition()!=null) strWhere=strWhere+”and”+getHeadCondition(); //查询数据表数据 SuperVO[] queryVos=getBusinessAction().queryHeadAllData( Class.forName(getUIController().getBillVoName()[1]), getUIController().getBillTy
显示全部
相似文档