開發(fā)平臺學習手冊ui層設計理解學習_第1頁
開發(fā)平臺學習手冊ui層設計理解學習_第2頁
開發(fā)平臺學習手冊ui層設計理解學習_第3頁
開發(fā)平臺學習手冊ui層設計理解學習_第4頁
開發(fā)平臺學習手冊ui層設計理解學習_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

UIFactoryII技術框架介紹UI層設計目錄1. 功能節(jié)點加載機制 11.1 NC界面模擬 11.1.1 窗口 21.1.2 頂層面板(工作臺) 31.1.3 工作臺—NClogo與快捷搜索面板 51.1.4 工作臺-所有打開的功能節(jié)點頁簽面板 71.1.5 功能節(jié)點面板 81.1.6 功能窗口部件 101.1.7 FuncletWidget(重要理解部分) 111.2 加載機制 121.2.1 示例 121.2.2 需要做的工作 131.2.3 查看代碼入口 141.2.4 菜單項響應件 141.2.5 創(chuàng)建界面元素組件容器FuncletWidgetContainer 151.2.6 構造ifunlet面板的元素和菜單欄的按鈕 181.2.7構造狀態(tài)欄 271.3 按鈕定義、配置 271.3.1 增加自定義按鈕 271.3.2 按鈕可用性的影響因素 311.3.3 常用按鈕介紹 331.3.4 按鈕布局方式: 331.4 UI事件框架 371.4.1 常用事件 371.4.2 Xml配置方式 371.4.3練習:增加一個自己的事件 382. 樹型單據(jù)設計 392.1.1 建立樹面板,修改布局組裝表 392.1.2 為樹面板,增加應用模型(model) 403. UI設計歸納總結 423.1 背景 423.2 設計思路 423.2.1 分離的展顯邏輯 423.2.2 自助能動的Action元素 433.2.3 Composite模式來實現(xiàn)組裝 433.3 常用元素介紹 433.3.1 模型層元素 433.3.2 視圖層元素 443.3.3 常用的接口介紹 453.3.4 NC的action事件 46功能節(jié)點加載機制NC界面模擬以下的演示示例類的命名,我均采用NC產(chǎn)品已有的命名方式。通過該部分的學習重點理解NC界面之間的層級管理。開發(fā)過程中理解每級模板自主能動的概念(父模板負責組裝,具體功能由各自來實現(xiàn))重點理解FuncletWidget界面元素組成,前面的部分了解就可以窗口實現(xiàn)樣式代碼規(guī)劃nc.desktop.ui.NcWindowextendsJFrame代碼示例顯示效果頂層面板(工作臺)實現(xiàn)樣式代碼規(guī)劃:容器面板(nc.desktop.ui.Workbench),使用borderlayout布局North面板(nc.desktop.ui.WorkbenchTopPanelextendsJPanel)Center面板(nc.desktop.ui.WorkbenchSpaceextendsJPanel)考慮單例代碼示例將其增長到父面板中增長其子面板顯示效果由于子面板中,還是空的,所以看到效果如下。但是我們代碼中知道,已經(jīng)增長了兩級面板工作臺—NClogo與快捷搜索面板實現(xiàn)樣式代碼示例其沒有子面板,需要實現(xiàn)如下功能需要增長底圖以及NClogo圖標代碼如下:備注:通過代碼可以知道,NC界面樣式主題位于NCHOME/resource/themeroot/途徑下,使用綠色主題,實現(xiàn)樣式如下顯示效果工作臺-所有打開的功能節(jié)點頁簽面板實現(xiàn)樣式代碼規(guī)劃父面板(nc.desktop.ui.WorkbenchSpace)容器面板(nc.ui.pub.beans.ExtTabbedPaneextendsjavax.swing.JTabbedPane),代碼示例增長面板到其父面板中功能節(jié)點面板實現(xiàn)樣式代碼規(guī)劃每個tab頁簽面板為一個功能節(jié)點(nc.funcnode.ui.FuncNodePanel)制定接口(nc.funcnode.ui.IFuncletWindow),每個功能節(jié)點都需要實現(xiàn)該接口中的方法:顯示功能節(jié)點窗口(publicvoidshowWindow())和關閉功能節(jié)點窗口(publicbooleancloseWindow())代碼示例登陸成功,默認增長功能導航和消息中心兩個功能功能節(jié)點tab顯示效果功能窗口部件每個功能節(jié)點,界面展示的元素都不相同,NC采用如下結構展示每個FuncNodePanel,使用一個界面元素組件容器(FuncletWidgetContainerextendsJPanel)來顯示其擁有的元素。每個(FuncletWidgetContainerextendsJPanel),其使用卡片布局,默認包含一個FuncletWidgetFuncletWidget(重要理解部分)每個FuncletWidget包含三部分,容納菜單欄、界面信息、狀態(tài)欄代碼結構如下FuncletWidget—North放按鈕面板FuncletWidget—Center放信息面板信息面板—SOUTH放狀態(tài)欄目信息面板—CENTER放界面信息(funclet)xml加載機制示例以下演示使用的的配置文獻由uap_studio自動生成的主子表結構配置文獻如下圖需要做的工作接上面的介紹,在導航菜單雙擊或者右鍵打開菜單節(jié)點的時候,我們可以預測其響應要做的事件創(chuàng)建FuncletWidgetContainer需要為其創(chuàng)建一個子面板FuncletWidget。為了創(chuàng)建一個FuncletWidget,需要:創(chuàng)建子面板-菜單欄(放置按鈕條)創(chuàng)建子面板—界面信息,放置界面元素(按鈕條,界面元素)創(chuàng)建子面板--ifunclet實現(xiàn)類創(chuàng)建子面板—任務欄運用創(chuàng)建的FuncletWidgetContainer來構造FuncNodePanel將FuncNodePanel作為一個父面板ExtTabbedPane的一個頁署名來展示查看代碼入口在你對NC產(chǎn)品還不熟悉的時候,可以采用如下的方式刪除xml配置文獻中的所有信息,雙擊功能節(jié)點這個時候功能節(jié)點應當是打不開的,查看控制臺的異常信息。通過異常我們可以看到功能節(jié)點打開代碼執(zhí)行順序菜單項響應件nc.funcnode.ui.FuncletWindowEngine.openNode(OpenParamopenParam)方法由導航菜單項事件響應機制調用:重要是啟動線程,執(zhí)行功能節(jié)點打開方法openNodeImple()。在openNodeImple()中執(zhí)行如下的工作創(chuàng)建界面元素組件容器FuncletWidgetContainer環(huán)節(jié)1即下圖的第1部分需要做的工作創(chuàng)建環(huán)節(jié)與簡樸主子面板的創(chuàng)建環(huán)節(jié)同樣一方面要得到一個FuncletWidgetContainer面板然后得到一個FuncletWidget子面板建立主子面板的關系:將子面板添加到父面板中產(chǎn)品代碼實現(xiàn)根據(jù)功能節(jié)點注冊信息frvo,調用FuncletWidgetContainerFactory,創(chuàng)建一個FuncletWidgetContainer每次創(chuàng)建一個FuncletWidgetContainer,根據(jù)功能節(jié)點注冊信息frvo,創(chuàng)建一個FuncletWidget,并將其添加到FuncletWidgetContainer中環(huán)節(jié)2即下圖的第2部分需要做的工作創(chuàng)建環(huán)節(jié)與簡樸主子面板的創(chuàng)建環(huán)節(jié)同樣一方面要創(chuàng)建一個FuncletWidget面板(前面已經(jīng)創(chuàng)建)然后創(chuàng)建子面板:菜單欄和界面信息建立主子面板的關系:將子面板添加到父面板中產(chǎn)品代碼實現(xiàn)構造ifunlet面板的元素和菜單欄的按鈕實例化看代碼可以了解,根據(jù)功能節(jié)點注冊處指定的功能類名稱,來實例化成一個Ifunclet類型的對象使用uap_studio自動生成的功能類名基類使用nc.ui.pubapp.uif2app.ToftPanelAdaptorEx類,便于二次開發(fā)擴展,其為IFunclet的實現(xiàn)類的子類還要給節(jié)點注冊一個參數(shù),參數(shù)名為:BeanConfigFilePath,值為配置單據(jù)界面的xml文獻的途徑,在打開節(jié)點的時候會讀取并解析該途徑下的xml文獻配置的布局信息代碼實現(xiàn)以下初始化的,就是讀取xml文獻信息。加載順序理解Composite模式,通SpringIOC實現(xiàn)組件的任意組裝,達成如下的模式:產(chǎn)品=零件+總裝表,零件=小零件+裝配表初始化—1加載xml文獻關注點:參數(shù)名稱必須為BeanConfigFilePath初始化—2加載登陸環(huán)境信息產(chǎn)品代碼:通過代碼可以看到,是加載了xml中一個id=”context”的bean對象,并使用這個對象記錄:當前功能節(jié)點信息、當前登陸信息等。使用場景: 是否必須配置:是這個Bean無論何種類型的單據(jù)都需要配置XML配置示例:初始化—3加載xxxPreprocessor產(chǎn)品代碼: 通過代碼可以看到,加載了xml中所有以id已”preprocessor”結尾的bean使用場景:是否必須配置:否該屬性通常使用對標準產(chǎn)品做二次開發(fā)的擴展開發(fā)時候使用。XML配置示例:詳見配置文獻\擴展開發(fā)標準bean配置.xml初始化—3加載remoteCallCombinatorCaller產(chǎn)品代碼:通過代碼可以看到,加載了xml中所有以id=”remoteCallCombinatorCaller”的beanbean中元素都實現(xiàn)了接口IRemoteCallCombinatorUser調用其prepare()方法業(yè)務意義:是否必須配置:否。使用場景:通常使用在加載過程中遠程調用比較多的單據(jù)中,如主子表單據(jù)。所有的遠程調用統(tǒng)一預加載。常見的遠程調用:加載單據(jù)模板、加載查詢模板、加載自定義項規(guī)定:放置在其中的需要預加載的遠程調用都必須實現(xiàn)接口IRemoteCallCombinatorUserXML配置示例:初始化—4裝配總表產(chǎn)品代碼:通過代碼可以看到,加載一個id=“container”的bean,業(yè)務意義:是否必須配置:是該bean是視圖層元素的裝配總表,指定了界面布局方式和每塊布局展示的界面視圖,以及按鈕根據(jù)需要指定界面布局方式,每一塊的布局都可作為零件隨時替換。XML配置規(guī)定:init-method="initUI",必須指定,且不能更改給containerbean添加tangramLayoutRoot屬性,擬定具體布局類型。值必須接口TangramLayoutNode的一個實現(xiàn)類。布局類型有四種:水平布局、垂直布局、tab頁簽布局、面板賦值界面通常是前三種布局互換使用,劃定界面分割方式,每個最小的每個框內放一個面板布局HSNode即(HorizontalSplitPaneNode)水平布局必須指定左右的布局方式VSNode即(VerticalSplitPaneNode)垂直平布局必須指定其上下的布局方式TBNode即(TabbedPaneNode)垂直平布局必須指定每個頁簽的布局方式可選屬性showMode,可在(TabbedPane,CardLayout)選擇一個,默認是TabbedPaneTabbedPane,下級的布局按照頁簽的方式展示。CardLayout,下級的布局按照卡片的方式展示CNode即(ComponentNode)面板必須指定其子容器面板,即component屬性Xml配置示例具體見配置文獻\列表型配置范文.xml配置文獻\管理型配置范文.xml配置文獻\樹管理配置范文.xml配置文獻\樹卡型配置范文.xml1.2.7構造狀態(tài)欄按鈕定義、配置增長自定義按鈕非業(yè)務按鈕的定義方法不需要向后臺傳遞數(shù)據(jù),如單個單據(jù)的EXECL導入,EXECL導出等按鈕可以繼承nc.ui.uif2.NCAction。例子:nc.ui.uif2.actions.AddAction為了可以通過Spring實例化,需要顯示的指定一下默認方法屬性:interceptor所屬類:NCAction意義:攔截器。詳見下節(jié)攔截器定義實例化:通常由Spring中注入exceptionHandler所屬類:NCAction意義:按鈕異常解決類以上兩個屬性不規(guī)定配置,可以參見NCAction的actionPerformed(E)方法來查看Model所屬類:這個屬性要自己新增,提供get\set方法(命名習慣上都用這個,但是不規(guī)定必須是這個)V6中通常使用nc.ui.uif2.model.AbstractAppModel類型意義:把此action設立為單據(jù)model的觀測者。必須的實例化:由Spring注入其他的根據(jù)自己的業(yè)務需要,定義自己的屬性BtnName所屬類:NCAction自定義按鈕需要指定按鈕名稱Code所屬類:NCAction自定義按鈕需要指定按鈕編碼,注意不要跟產(chǎn)品已有的編碼反復假如不指定code,報錯如下Overwrite方法doAction()執(zhí)行具體的相應動作,通常會調用model的行為isActionEnable()(設立當前action是否可用,平臺會在模型發(fā)出事件告知,調用它設立按鈕的可用狀態(tài))標準業(yè)務按鈕的定義假如需要將變化的數(shù)據(jù)同步到后臺,則按鈕需要繼承nc.ui.pubapp.uif2app.actions.pflow.ScriptPFlowAction(該類是NCAction的一個間接子類)產(chǎn)品對常用的保存、刪除、提交、審批、棄審等增長了標準的實現(xiàn)類。屬性: 菜單按鈕的定義通常在xml中配置一個nc.funcnode.ui.action.GroupAction或者nc.funcnode.ui.action.MenuAction的bean就可以了。GroupAction:系統(tǒng)自動復制其第一個子按鈕的名稱和相應事件、控制狀態(tài)到菜單按鈕。即在xml中對菜單按鈕指定名稱是不能生效的點擊該菜單按鈕可以指定其復制的子按鈕的業(yè)務操作這個菜單按鈕也是可以有可用狀態(tài)控制MenuAction:只作為一個顯示的菜單按鈕,一直可用,沒有響應事件按鈕可用性的影響因素在NC產(chǎn)品中通常有以下兩個因素影響按鈕的可用性:界面狀態(tài)、業(yè)務狀態(tài)界面狀態(tài)即當前UI界面所處的狀態(tài)V6設立如下幾種狀態(tài)Init:初始態(tài),功能節(jié)點新打開狀態(tài).Add新增態(tài),EDIT編輯態(tài)NOT_EDIT非編輯通常按鈕的操作,需要通過modle業(yè)務狀態(tài)在單據(jù)上我們通常叫單據(jù)狀態(tài)。有些流程相關的按鈕不同的單據(jù)狀態(tài),按鈕的可用性應當是不同的。如提交按鈕,只針對自由態(tài)的單據(jù)。審批和收回按鈕只針對提交態(tài)的單據(jù),棄審按鈕只針對審批通過的單據(jù)。如下圖提交態(tài)按鈕示例V63預先指定了一些狀態(tài),假如你要使用產(chǎn)品標準的按鈕,則單據(jù)狀態(tài)的設立,必須按照其規(guī)劃來設立。即自由態(tài)的單據(jù),單據(jù)狀態(tài)值必須是-1常用按鈕介紹V63已經(jīng)實現(xiàn)的標準按鈕存放在如下的結構中Actions:標準操作按鈕Actions.Batch:批解決按鈕(通常用在單表中,需要批量解決的地方)Actions.billlist:列表界面操作按鈕Actions.Interceptor:已經(jīng)實現(xiàn)的常用按鈕攔截器Actions.Pagination:分頁解決相關Actions.Pflow:需要平臺流解決(通常是審批流相關:保存、提交、審批、棄審等)的按鈕按鈕布局方式節(jié)點級次布局頁面位置:頁簽頂部可見方式:一直可見展現(xiàn)形式:菜單應用場景:假如tangramLayoutRoot相應的布局管理,只有一個頁簽(VSNode、HSNode、CNode布局)則可考慮這種方式假如tangramLayoutRoot相應的布局管理,即便有多個頁簽(TBNode),但是顯示的按鈕不需要根據(jù)頁簽的改變發(fā)生變化,也可以考慮這種方式實現(xiàn)方式:配置在TangramContainer中??梢耘渲脼g覽態(tài)按鈕和編輯態(tài)按鈕元素actions:配置瀏覽狀態(tài)下任何頁簽都可見按鈕元素editActons:配置編輯狀態(tài)下任何頁簽都可見的按鈕。假如沒有編輯態(tài),可不配置頁簽級布局顯示位置:頁面頂部可見方式:隨頁簽的激活狀態(tài)決定其可見性展現(xiàn)形式:菜單應用場景:假如頂層容器tangramLayoutRoot采用TBNode布局,且需要根據(jù)頁簽的改變顯示不同的按鈕,則采用這種方式實現(xiàn)方式:分為絕對布局和相對布局絕對布局將按鈕和視圖層元素運用StandAloneToftPanelActionContainer來包裝注意<constructor-argref="xxx"/>參數(shù)要傳入相應的視圖層元素,(如listView\billFormEditor)且視圖元素控件必須實現(xiàn)ITabbedPaneAwareComponent接口,當頁簽切換時告知外層容器實現(xiàn)Action的切換。即<constructor-argref="xxx"/>指定的視圖層顯示的時候,才顯示其中配置的按鈕運用toftpanelActionContributors對包裝成的對象進行組織。id=”toftpanelActionContributors”的bean,不需要再做配置,程序會自動加載相對布局這種布局方式不常見,作為了解將按鈕和視圖層元素運用PlugableTangramContainer來包裝參數(shù)constraints傳入相應的視圖層元素參數(shù)“actions”傳送相應的按鈕運用toftpanelActionContributors對包裝成的對象進行組織。Container也要修改成相對布局后面的布局要指定參照targetComponent,并制定相對位置視圖級布局顯示位置:視圖所在tab的右上側可見方式:一直可見展現(xiàn)形式:工具欄應用場景:假如上層布局采用了TBNode,則根據(jù)需要考慮增長視圖按鈕實現(xiàn)方式:視圖元素控件必須實現(xiàn)IComponentWithActions接口。視圖層所在的上級布局必須采用了TBNode,由于視圖級的元素是顯示在頁簽的右上側,只有TBNode才有這個位置當前卡片視圖nc.ui.pubapp.uif2app.view.ShowUpableBillForm已經(jīng)實現(xiàn)了該接口UI事件框架常用事件NC產(chǎn)品針對自己的界面常用的事件做了封裝,常見的有卡片列表各種編輯事件、組織改變事件、新增事件、排序事件、頁簽切換事件、行改變事件、合計事件等。已經(jīng)實現(xiàn)的事件放在重要是:Event:公共的事件或者接口Event.card:卡片界面常用事件Event.list:列表界面常用事件Xml配置方式一方面配置nc.ui.pubapp.uif2app.event.EventHandlerGroup屬性evnent:取值為具體的event類;屬性picky:取值可實現(xiàn)IPickyEventHandler接口來過濾是否派發(fā)事件。假如不需要,則賦值例如ChildrenPicky類則表達按默認的指定VO類方式來過濾,即只有bodyVoClasses中配置的VO類才會派發(fā)到相應的事件解決中;屬性handler:取值必須實現(xiàn)IAppEventHandler接口,接口參數(shù)相應具體的event類。如下圖運用AppEventHandlerMediator來組織事件和模型model.注意將其beanid以Mediator結尾,這樣系統(tǒng)才干自動加載1.4.3練習:增長一個自己的事件樹型單據(jù)設計一方面要先生成標準的管理型單據(jù),然后將其改導致數(shù)管理型單據(jù)建立樹面板,修改布局組裝表增長樹面板樹面板可以使用ponents.TreePanel或者其子類更改界面總裝表(container)指定其布局位置。我們需要替換本來的快捷查詢區(qū)域,將本來的替換掉為樹面板,增長應用模型(model)模型實例化:樹面板配合使用的model是通常使用nc.ui.uif2.model.HierachicalDataAppModel或者其子類模型屬性初始化:模型服務類(service)、樹構造器策略(treeCreateStrategy)、登陸環(huán)境(context)模型服務類(service),模型用來向后臺同步數(shù)據(jù)??梢詫崿F(xiàn)nc.ui.uif2.model.IAppModelService或者擴展自己的方法樹構造器策略(treeCreateStrategy):用來將查詢出來數(shù)據(jù)組織成樹結構。可使用nc.vo.bd.meta.BDObjectTreeCreateStrategy。構造器策略需要指定根節(jié)點名稱和VO轉換工廠定義VO轉換工廠:通常屬性結構是查詢一個單VO。可以使用nc.vo.bd.meta.BDObjectAdpaterFactory來轉換模型管理器:通常用來調用模型的service服務,為模型初始化提供數(shù)據(jù)每個樹的數(shù)據(jù)初始方式不同,產(chǎn)品沒條提供標準模型管理器。需要實現(xiàn)nc.ui.uif2.model.IAppModelDataManager接口,實現(xiàn)其initModel()方法通常樹節(jié)點的左側的樹數(shù)據(jù),在model加載完畢就要查詢出來。可以在此完畢創(chuàng)建一個名字如:xxxMediator類。作為左側樹的模型和右側的管理模型的協(xié)調者Mediator類在功能節(jié)點打開的時候就能自動加載。在這個類中為兩個模型注冊事件監(jiān)聽,抓取到兩個模型的變化事件例:我們可以抓取到右側模型模型初始化事件,同時完畢我們的左側樹模型初始化。也可以抓取左側樹模型的選擇節(jié)點變化事件,來同步右側模型的數(shù)據(jù)的變化UI設計歸納總結(復制自陳偉文檔)背景NC5.X系列,采用UIFactoryINC6.X系列,采用UIFactoryIITempletMethod模式,UI、EventHandler、Controler分工,典型的節(jié)點可以快速適配,快速開發(fā)Composite模式,通SpringIOC實現(xiàn)組件的任意組裝,達成如下的模式:產(chǎn)品=零件+總裝表,零件=小零件+裝配表非典型的界面不能很好的適配存儲大量代碼復制很好的解決界面多樣性的問題并且實現(xiàn)松耦合的代碼結構+高重用的組件設計思緒分離的展顯邏輯將一個我們在屏幕上看到的GUI元素也按照MVC的思想來解決,提成展現(xiàn)對象(VIEW)和模型對象(MODEL)展現(xiàn)對象,即是封裝后的容器類,用來直觀的展現(xiàn)數(shù)據(jù)模型對象,用來控制展現(xiàn)對象。一個領域對象通常通常持有持久化信息(VO、services)來培訓,將展現(xiàn)層數(shù)據(jù)和后臺持久化服務連通V依賴M,M不依賴V,一個M可以服務多個VV之間互不依賴,V只和M打交道,對V的操作會觸發(fā)M的行為,V對M的實現(xiàn)進行響應M之間假如要進行通信,通常設計xxxMediator(協(xié)調者),用來協(xié)調M之間信息傳遞自助能動的Action元素Action應當是細力度的,即功能單一,便于擴展Action能自身決定可用性,符合面向對象的特性,通過ActionContributors進行組織,以方便SpringIOC相應用元素的拼裝Composite模式來實現(xiàn)組裝統(tǒng)一的UI入口類ToftPanelAdapter,自動裝配;Spring依賴注入,XML界面配置組裝視圖層、模型層、和按鈕;TangramLayout靈活布局;常用元素介紹模型層元素appModel均是nc.ui.uif2.model.IAppModel的直接或間接實現(xiàn)類,不同的業(yè)務場景有不同的實現(xiàn),本次只介紹常用的模型模型名稱應用場景特點HierachicalDataAppModel存儲有層次關系的數(shù)據(jù)模型運用內部維護的DefaultTreeModel來存儲樹型數(shù)據(jù)可以獲得當前選中的節(jié)點和選中的數(shù)據(jù)可以發(fā)出MODEL_INITIALIZED、SELECTION_CHANGED以及UISTATE_CHANGED事件BillManageModel存儲平面數(shù)據(jù)的模型應用最多的一個模型支持單行和多行選擇可以發(fā)出MODEL_INITIALIZED、SELECTION_CHANGED、UISTATE_CHANGED、DATA_INSERTED、DATA_DELETED、SELECTED_DATE_CHANGED等事件BatchBillTableModel支持進行批量增、刪、改等操作的平面型數(shù)據(jù)模型只有編輯和非編輯兩種狀態(tài)需要配套的服務類IBatchAppModelService與視圖層元素BatchBillTable配合使用可以發(fā)出MODEL_INITIALIZED、SELECTION_CHANGED、UISTATE_CHANGED、DATA_UPDATED、DATA_DELETED、DATA_INSERTED等事件視圖層元素常見的NC視圖均直接或間接集成自javax.swing.JPanel(JPanel參見JDK_API)常見的如下平面視圖V6產(chǎn)品通常使用nc.ui.pubapp.uif2app.view下的類;特殊視圖(樹、參照等)通常使用ponents下的類模型名稱應用場景特點TreePanel樹型控件的展現(xiàn)面板與HierachicalDataAppModel模型配合使用,響應此模型的事件BillForm表單界面的展現(xiàn)控件運用單據(jù)模板的卡片視圖(BillCardPanel)進行展現(xiàn),支持單表頭的卡片也支持標準的卡片視圖(聚合VO的上卡片下列表形式)暫時只與BillManageModel配合,實現(xiàn)對模型數(shù)據(jù)的展現(xiàn)以及事件的相應在V6中常使用其子類ShowUpableBillFormBill

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論