freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

nc開發(fā)流程一覽表說明-文庫吧資料

2025-07-06 16:34本頁面
  

【正文】 先取得界面改變的VO數(shù)據(jù),并將其表頭VO設置為空,但是,這保證了保存操作的正確性,卻給自動更新表頭列表的VO數(shù)據(jù)制造了麻煩,解決的辦法是在保存后將VO數(shù)據(jù)的表頭VO還原,代碼如下:/***單據(jù)保存后調(diào)用的方法*/Protected void setAddNewOperate(Boolean isAdding,AggregatedValueObject billVO)throws Exception{ If(billVO!=nullamp。 getBufferData().setCurrentRow(0)。 //將表頭數(shù)據(jù)加到表頭列表中 getBufferData().getAllHeadVOsFromBuffer()。}else{ AggregatedValueObject[] bills = createBillVOs(queryVos)。 getBillUI().setListHeadData(queryVos)。清空緩沖數(shù)據(jù)getBufferData().clear()。if(getHeadCondition()!=null)strWhere = strWhere+”and”+getHeadCondition()。 If(strWhere==null)strWhere=”1=1”。 If(()==){ INormalQuery query = (INormalQuery)querydialog。2. 單據(jù)控制器類繼承AbstractManageController。這樣就完成了多子表管理型單據(jù)的制作。,但是VO的配置應按照多子表卡片型單據(jù)所示。}這樣就完成了標準管理性的單據(jù)的制作。}3. 當單據(jù)不走平臺時,單據(jù)UI類應該重載基類的createBusinessDelegator方法,并返回不走平臺的業(yè)務代理類。2. 使單據(jù)界面控制器類繼承AbstractManageController類,這個類實現(xiàn)了卡片型單據(jù)控制器的通用接口ICardController和列表型單據(jù)控制器的通用接口IListController,因此我們的界面控制器類實際上需要實現(xiàn)卡片和列表控制器的所有方法,除了單據(jù)類型,單據(jù)VO的名字,是否走平臺,主表主鍵名,字表主鍵名這些通用的設置以外,這里重點展示對于按鈕的定義,如下:/***取得列表界面的按鈕*/Public int[] getListButtonAry(){ Return new int[]{ ,,//卡片按鈕,}。這個類實際上實現(xiàn)了ICardController和IListController兩個接口。另外,管理型單據(jù)對這兩種視圖又做了功能上的劃分卡片視圖和列表視圖都可用于數(shù)據(jù)的顯示,但是一旦要對列表視圖的數(shù)據(jù)進行編輯操作時,界面自動切換單卡片視圖。}這部分數(shù)據(jù)加載的邏輯和前面虛擬主子表的卡片單據(jù)例子很相似,只是它多了一步操作—將查詢得到的表頭數(shù)據(jù)加到表頭的列表中。 Bill[i].setChildrenVO((SuperVO[])(new SuperVO[0]))。 Bills[i] = new ()。i++){ Object key= ()。 For(Iterator it = ().iterator()。 AggregatedValueObject[] bills = new AggregatedValueObject[()]。}}/***param待分類的VO數(shù)據(jù)*return 分類的結(jié)果*/Private AggregatedValueObject[] //聚合值對象數(shù)組 createBillVOs(CircularlyAccessibleValueObject[] vos){//循環(huán)獲得值對象數(shù)組 If(vos==null||==0) Return null。 setBillOperate()。 getBufferData().addVOsToBuffer(bills)。 getBufferData().setCurrentRow(1)。if(queryVos==null||==0){ setBillOperate()。SuperVO[] queryVos= getBusiDelegator().queryHeadAllData((getUIControl().getBillVoName()[1]),getUIControl().getBillTye(),strWhere)。BillListUI初始化時調(diào)用initBillData方法加載單據(jù)數(shù)據(jù)因此我們在UI子類重載此方法:/***初始化時加載單據(jù)數(shù)據(jù)*/Protected void initBillData(String strWhere)throws Exception{ If(strWhere==null) strWhere=”1=1”。虛擬主子表的列表型單據(jù):制作虛擬主子表的列表型單據(jù),基本策略和辦法還是和卡片型單據(jù)一樣。UI工廠定義了ISingleController接口來指定單據(jù)時單表頭還是單表體,因此,如果單據(jù)的界面控制類實現(xiàn)ISingleController接口,輔之以配套的單據(jù)模板,就可以實現(xiàn)單列表的界面。需要注意的是:列表型單據(jù)也應該創(chuàng)建自己的業(yè)務代理類,負責加載多頁簽的數(shù)據(jù)。標準的列表型單據(jù)和卡片型單據(jù)相比,不同之處是:列表型單據(jù)的控制器實現(xiàn)IListController接口,并且應該把按鈕的設置實現(xiàn)在getListButtonAry方法中,如:Public int[] getListButtonAry(){ Return new int[]{ ,,}。}如何制作列表型單據(jù)列表型單據(jù)統(tǒng)一的界面基類是ListCardUI,統(tǒng)一的事件處理基類是ListEventHandler,統(tǒng)一的界面控制接口為IListController。}}創(chuàng)建一個繼承MultiChildBillCardUI類的單據(jù)UI類,并關聯(lián)上先前創(chuàng)建的界面控制類,業(yè)務代理類:/***關聯(lián)上界面控制類*/Protected ICardController createController(){ Return new SampleCardController()。0){(tableCodes[1],BVOs)。//將查詢的數(shù)據(jù)子表一的數(shù)據(jù)放入hashtable}If(BVOs!=nullamp。amp。 //將查詢數(shù)據(jù)放入hashtable并返回 Hashtable dataHashTable = new Hashtable()。}3. 定義事件處理類如果沒有特殊的按鈕事件處理,現(xiàn)在暫時可以不創(chuàng)建4. 定義業(yè)務代理類對于多子表的單據(jù),一定要創(chuàng)建業(yè)務代理類并重載loadChildDataAry方法如下所示: Public class SampleCardDelegator extends BDBusinessDelegator{ /***取得不同表體頁簽的數(shù)據(jù)*/Public Hashtable loadChildDataAry(String[] tableCodes,String key)throws { //根據(jù)主表主鍵,取得子表一的數(shù)據(jù)SampleBodyVO[] AVOs=(SampleBodyVO[])queryByCondition(,”pk_sample=’”+key+”’and isnull(dr,0)=0”)。返回的子表編碼必須與單據(jù)模板定義的頁簽編碼一致,這樣數(shù)據(jù)才能正確顯示。}}代碼的解釋:HYBillVO類是UI工廠定義的繼承自AggregatedValueObject的類。}Public getHmEditingVOs() throws Exception{ return null。}/***缺省的頁簽編碼*/Public String getDefaultTableCode(){ Return getTableCodes()[0]。*/Public CircularlyAccessibleValueObject[]getTableVO(String tableCode){ return(CircularlyAccessibleValueObject[]) (tableCode)。}Return(SuperVO[]) (new SuperVO[0])。i++){ CircularlyAccessibleValueObject[] cvos=getTableVO(getTableCodes()[i])。 For(int i=0。 /** *返回各個子表的編碼 *必須與單據(jù)模板的頁簽編碼對應 */ Public [] getTableCodes(){ Return new String[]{“sample_table1”,”sample_table2”}。因此,UI工廠設計了接口IExAggVO,需要裝載多子表數(shù)據(jù)的聚合VO類,應該實現(xiàn)此接口,并實現(xiàn)它的關鍵方法。2. 對VO數(shù)據(jù)的抽象。在UI工廠中,這種單據(jù)得到了抽象,主要從以下兩個角度:1. 對UI顯示界面的抽象。}注:刪除單據(jù)時,并不涉及到界面的數(shù)據(jù),因此只需控制BillUIBuffer中的緩存的當前VO。if(getBufferData().getVOBufferSize()==0)getBillUI().
點擊復制文檔內(nèi)容
化學相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1