![U開(kāi)發(fā)之單據(jù)列表控件_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/d967be3d-88f5-43cf-bf81-a52b71e3b956/d967be3d-88f5-43cf-bf81-a52b71e3b9561.gif)
![U開(kāi)發(fā)之單據(jù)列表控件_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/d967be3d-88f5-43cf-bf81-a52b71e3b956/d967be3d-88f5-43cf-bf81-a52b71e3b9562.gif)
![U開(kāi)發(fā)之單據(jù)列表控件_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/d967be3d-88f5-43cf-bf81-a52b71e3b956/d967be3d-88f5-43cf-bf81-a52b71e3b9563.gif)
![U開(kāi)發(fā)之單據(jù)列表控件_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/d967be3d-88f5-43cf-bf81-a52b71e3b956/d967be3d-88f5-43cf-bf81-a52b71e3b9564.gif)
![U開(kāi)發(fā)之單據(jù)列表控件_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/14/d967be3d-88f5-43cf-bf81-a52b71e3b956/d967be3d-88f5-43cf-bf81-a52b71e3b9565.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、U8單據(jù)列表控件摘要單據(jù)列表控件是供業(yè)務(wù)單據(jù)展示列表數(shù)據(jù)以及編輯處理的,并且集成了部分單據(jù)列表公共按鈕、快捷過(guò)濾、翻頁(yè)功能。同時(shí)也支持直接通過(guò)單據(jù)列表編輯錄入數(shù)據(jù)。概念說(shuō)明公共按鈕是指單據(jù)列表固有的一些操作,如:查詢、條件格式設(shè)置、布局等等;快捷過(guò)濾是一種更加直接快速的常用查詢項(xiàng)目過(guò)濾,主要區(qū)別在于可以直接在列表主界面錄入常用過(guò)濾項(xiàng)目?jī)?nèi)容進(jìn)行查詢;翻頁(yè)功能集成則是指列表控件自帶了翻頁(yè)處理,業(yè)務(wù)模塊使用時(shí)可以不用專門(mén)處理翻頁(yè)的邏輯。目標(biāo)本文主要介紹單據(jù)列表控件的業(yè)務(wù)應(yīng)用及相關(guān)注意事項(xiàng),方便各類U8產(chǎn)品開(kāi)發(fā)人員更好的使用高效開(kāi)發(fā)產(chǎn)品。文檔內(nèi)容一、 列表控件(V11.0)增加的特性:1. 集成【快捷
2、過(guò)濾】功能;類似原來(lái)各列表界面里toolbar上的查詢刷新濾設(shè)功能。查詢按鈕下拉查詢方案:默認(rèn)操作兼容原有功能。查詢支持方案和快捷條件詳細(xì)設(shè)置:【快捷過(guò)濾】相關(guān)的業(yè)務(wù)組代碼調(diào)整:調(diào)整過(guò)濾對(duì)象的查詢方法()調(diào)用,修改為調(diào)用過(guò)濾對(duì)象初始化方法(UFGeneralFilter.FilterSrv. InitBaseVarValue),參數(shù)傳遞與過(guò)濾對(duì)象查詢?cè)瓉?lái)的方法()兼容。然后調(diào)用新單據(jù)列表控件的快捷過(guò)濾初始化方法(VouchList.InitFlt),把初始化好的過(guò)濾對(duì)象傳入(如果沒(méi)有過(guò)濾對(duì)象,也可以直接傳入過(guò)濾對(duì)象ID或過(guò)濾對(duì)象名稱+子系統(tǒng)號(hào))。 代碼修改前后對(duì)比示例如下(灰色字體
3、部分是已經(jīng)被注釋的修改前的代碼,下同):(引用的是服務(wù)協(xié)議列表代碼修改模型)Set m_opub = CreateObject("UFGeneralFilter.FilterSrv")' bSuccess = m_opub.OpenFilter(g_Login, "6729D410-233A-4674-A48A-2C34C17B82F6", "", "", ErrInfo) 'lliang_2
4、011-11-22_單據(jù)列表:快捷過(guò)濾 bSuccess = m_opub.InitBaseVarValue(g_Login, "6729D410-233A-4674-A48A-2C34C17B82F6", "", "", ErrInfo)
5、; Call VouchList.InitFlt (g_Login, m_opub, "", "", "", "", Err)參數(shù)1:Login對(duì)象參數(shù)2:過(guò)濾對(duì)象參數(shù)3:條件的Key參數(shù)4:過(guò)濾的名稱參數(shù)5:子產(chǎn)品號(hào)參數(shù)6:返回的錯(cuò)誤信息返回值:如果返回為False表明出現(xiàn)失敗說(shuō)明:你可以用參數(shù)2,忽略參數(shù)3、4、5或用參數(shù)3而忽略參數(shù)2和4、5或用參數(shù)4、5而忽略2和3.注意事項(xiàng):調(diào)用此初始化方法的時(shí)機(jī)要求在Form_Load事件里,目前大部分產(chǎn)品的過(guò)
6、濾對(duì)象調(diào)用(m_opub.OpenFilter)都是在相應(yīng)的類模塊或其他非窗體模塊處理,所以需要各模塊根據(jù)實(shí)際情況把過(guò)濾對(duì)象變量有效傳遞到窗體然后在Form_Load事件里調(diào)用。推薦的方法是事前在窗體模塊聲明全局變量,然后在調(diào)用過(guò)濾對(duì)象的地方把已經(jīng)初始化好的過(guò)濾對(duì)象暫時(shí)賦值給窗體的全局變量,最后在Form_Unload事件里即時(shí)的釋放該全局變量。 / 直接
7、在列表控件(V11.0)新增的查詢事件中(FilterClick)調(diào)用原來(lái)的“查詢”功能即可,同時(shí)把此事件返回的過(guò)濾對(duì)象參數(shù)一并傳遞到原查詢功能。Private Sub VouchList_FilterClick(fldsrv As Object) Operating ("filter",fldsrv)End Sub
8、0; 注:是否顯示快捷過(guò)濾依據(jù)的是原列表是否支持查詢功能。附:快捷過(guò)濾預(yù)置表:Data庫(kù) 的flt_quickconditionset表對(duì)應(yīng)字段說(shuō)明:filterid 過(guò)濾編號(hào)userid 用戶編號(hào),業(yè)務(wù)組預(yù)置用固定的 systemitemName 用于快捷過(guò)濾的項(xiàng)的名稱 如:cDepName2. 集成【翻頁(yè)】功能;取代原來(lái)各列表界面手工翻頁(yè)或采用平臺(tái)翻頁(yè)控件的功能?!痉?yè)】相關(guān)的業(yè)務(wù)組代碼調(diào)整:1) 業(yè)務(wù)代碼原列表界面中使用平臺(tái)的翻頁(yè)控件(PagedivCtl)的情況:在調(diào)用平臺(tái)翻頁(yè)控件綁定分頁(yè)引
9、擎的地方直接修改為用列表控件(V11.0)綁定分頁(yè)引擎,接口方法和傳遞參數(shù)完全兼容,同時(shí)刪除原平臺(tái)翻頁(yè)控件并把相關(guān)的代碼注釋(包括原翻頁(yè)控件涉及的事件),同時(shí)把原翻頁(yè)控件對(duì)應(yīng)的事件實(shí)現(xiàn)在列表控件對(duì)應(yīng)的事件中實(shí)現(xiàn)(事件兼容 )。(引用的是銷售訂單列表代碼修改模型) 'Call PagedivCtl1.BindPagediv(m_pagediv)'lliang_2011-11-22_單據(jù)列表: 翻頁(yè) Call VchLst.BindPagediv(m_pagediv)
10、; 'Private Sub PagedivCtl1_BeforeSendCommand(cmdType As U8VouchList.UFCommandType, pageSize As Long, pageCurrent As Long)' Me.VchLst.SetVchLstRst Nothing' Me.VchLst.FillMode = FillOverwrite'End SubPrivate Sub VchLst_BeforeSendComm
11、and(cmdType As U8VouchList.UFCommandType, pageSize As Long, pageCurrent As Long) Me.VchLst.SetVchLstRst Nothing Me.VchLst.FillMode = FillOverwriteEnd Sub2) 業(yè)務(wù)代碼原列表界面沒(méi)有采用平臺(tái)的翻頁(yè)控件,是自己處理的翻頁(yè)功能的情況,時(shí)還不想采用先前到翻頁(yè)控件的方式(原因:代碼改動(dòng)太大,可能出錯(cuò)的情況也多,而且直接影響由列表導(dǎo)航出的單據(jù)卡片翻頁(yè)的界定范圍),只是希望直接借用列表
12、控件(V11.0)的翻頁(yè)框架,而列表數(shù)據(jù)的獲取保持不變(還是由業(yè)務(wù)組直接獲取傳遞給列表控件)。就此方案代碼模板示例如下:/1、申明分頁(yè)引擎變量(引用的是庫(kù)存所有單據(jù)列表代碼修改模型)'lliang_2011-12-02_新單據(jù)列表:Private WithEvents m_pagediv As Pagediv '分頁(yè)引擎/2、FormLoad事件里初始化分頁(yè)引擎并綁定到列表控件(V11.0)上(列表數(shù)據(jù)的加載過(guò)程保持不變,并且此必須放到列表數(shù)據(jù)加載之前執(zhí)行,并且確認(rèn)列表數(shù)據(jù)加載后給原有的列表屬性RecordCount正確賦值了-應(yīng)該是總記錄數(shù),而不是當(dāng)前
13、頁(yè)顯示的記錄數(shù)) Set m_pagediv = New Pagediv m_pagediv.PageInfo.CurrentPage = txtPage.Text m_pagediv.PageInfo.pageSize = txtSize.Text 注:此兩處代碼賦值邏輯需要在運(yùn)行期檢查原控件值是否存在 Call VouchList1.BindPagediv(m_pagediv) /3、在列
14、表控件新增的翻頁(yè)相關(guān)的事件中實(shí)現(xiàn)原來(lái)的手工翻頁(yè)邏輯。Private Sub VouchList1_BeforeSendCommand(cmdType As U8VouchList.UFCommandType, pageSize As Long, pageCurrent As Long) txtSize.Text = pageSize Select Case cmdType
15、; Case UFFirst cmdFirst_Click Case UFPrevious
16、60; cmdPer_Click Case UFNext cmdNext_Click Case UFLast
17、 cmdLast_Click Case UFOK cmdOK_Click
18、 Case Else ' End SelectEnd Sub注:是否顯示翻頁(yè)依據(jù)的是原列表是否支持翻頁(yè)功能。3) 業(yè)務(wù)代碼原列表界面沒(méi)有采用平臺(tái)的翻頁(yè)控件,而是自己處理的翻頁(yè)功能的情況:這種情況需要首先把業(yè)務(wù)組手工增加的列表翻頁(yè)功能到平臺(tái)翻頁(yè)控件,然后再根據(jù)第1)種情況對(duì)應(yīng)的方法
19、到列表控件(V11.0),也可由手工的列表翻頁(yè)功能直接到列表控件(V11.0)的翻頁(yè)。至于如何從手工翻頁(yè)功能到平臺(tái)的翻頁(yè)控件,這個(gè)可以咨詢目前已經(jīng)采用平臺(tái)翻頁(yè)控件的業(yè)務(wù)組成員處理(其中由列表導(dǎo)航出的單據(jù)卡片翻頁(yè)的界定范圍需要通過(guò)列表過(guò)濾條件串約束),在此也簡(jiǎn)單就代碼修改過(guò)程示例說(shuō)明一下:(新作單據(jù)列表時(shí)必須使用)(引用的是庫(kù)存的其他入庫(kù)單列表代碼修改模型)Private WithEvents m_pagediv As Pagediv '分頁(yè)引擎Private m_coni As IPagedivConi '條件,基本上都是從U8Colset中進(jìn)行初始化/增加如下列表分頁(yè)初始化方
20、法,一個(gè)分頁(yè)引擎事件。Private Sub InitPagedivCtl(oColSet As Object, mCnn As Connection, VouchList As Object, strWhere As String) 初始化分頁(yè)控件 Call InitConi(oColSet, strWhere , m_coni) Set m_pagediv = New Pagediv Call m_pagediv.Initialize(mCnn,
21、m_coni) Call PagedivCtl1.BindPagediv(m_pagediv) Call VouchList.BindPagediv(m_pagediv) Call m_pagediv.LoadDataEnd Sub'初始化分頁(yè)條件Public Sub InitConi(ByVal oColSet As Object, strWhere As String, m_coni As IPagedivConi) On Error Go
22、To ErrHandler If m_coni Is Nothing Then Set m_coni = New DefaultPagedivConi End If m_coni.From = "KCOtherInList" '此處需要通過(guò)一個(gè)專
23、門(mén)的方法獲取列表對(duì)應(yīng)的數(shù)據(jù)源(視圖)名稱 If bGroupBy Then '是否查看匯總信息 m_coni.SelectConi = Replace(oColSet.GetSqlSumString, "''", "' '") If strWhere = "" Then strWhere = "1=1" m_coni.Where = strWhere m_coni.GroupBy = oColSet.GetSqlGroupString m_
24、coni.OrderID = oColSet.GetOrderStringEx' m_coni.RealTableName = clsVoucherLst.GetVoucherListSet("maintbl")' m_coni.RealPrimaryKey = clsVoucherLst.GetVoucherListSet("mainkey") Else m_coni.SelectConi = oColSet.GetSqlString m_coni.OrderID = oColSet.GetOrderStringEx m_coni.Wh
25、ere = strWhere '相當(dāng)于where部分 m_coni.GroupBy = "" m_coni.RealTableName = "" ' clsVoucherLst.GetVoucherListSet("detailtbl") m_coni.RealPrimaryKey = "" 'clsVoucherLst.GetVoucherListSet("detailkey") m_coni.SumConi = "" End IfExitFnc:&
26、#160; Exit SubErrHandler: End SubPrivate Sub m_pagediv_AfterGetData(rst As ADODB.Recordset, cnt As Long) VouchList1.SetVchLstRst Nothing VouchList1.FillMode = FillOverwrite ST_SetFormat VouchList1, CvouType
27、0; VouchList1.DoFormat VouchList1.SumStyle = vlRecordAndGridsum VouchList1.SetVchLstRst rst If Not IsNull(ColSet) Then VouchList1.InitHead ColSet.getColInfo End If
28、0; VouchList1.RecordCount = cntEnd Sub/在所有以前手工調(diào)用查詢列表數(shù)據(jù)的地方修改為調(diào)用此列表初始化方法:InitPagedivCtl' getListData VouchList1, ClsBill, CvouType, nPages, 1, txtSize.Text, sWhere, True, , , , bGroupBy, m_strGUID' VouchList1.RecordCount = ClsBill.ListCountCall I
29、nitPagedivCtl(ColSet, moLogin.AccountConnection, VouchList1, sWhere)3. 改變【行選擇】功能;取代原來(lái)各列表界面里toolbar上的全選/全消功能,同時(shí)取代以前雙擊列表選擇列打”Y”的功能。選擇:用列表頭check方式取代原來(lái)的全選/消功能【行選擇】相關(guān)的業(yè)務(wù)組代碼無(wú)需調(diào)整:以前判斷行選擇狀態(tài)的方法(VouchList.TextMatrix(i, oCols("selcol").iColPos) = "Y")完全兼容。注:列表控件(V11.0)GRID的左上角(0行0列)是否顯示復(fù)選框(
30、即:是否支持全選/消)依據(jù)的是原列表(toolbar)上是否支持“全選/全消”功能。4. 調(diào)整【篩選】功能;取代原來(lái)列表控件自帶的小漏斗按鈕篩選功能。移到了toolbar功能按鈕區(qū)域,對(duì)應(yīng)的篩選結(jié)果以紅色字體在列表下文翻頁(yè)區(qū)域顯示?!竞Y選】相關(guān)的業(yè)務(wù)組代碼調(diào)整:列表控件(V11.0)去掉了以前的“篩選”小漏斗按鍵,增加了對(duì)應(yīng)的接口方法(AutoFilter),用于業(yè)務(wù)組在ToolBar上操作新版本追加的下拉式按鈕篩選時(shí)調(diào)用,以實(shí)現(xiàn)單據(jù)列表原來(lái)的篩選功能。 Case "tlbFilter" &
31、#39;篩選 If Toolbar1.buttons("tlbFilter").Value= 1 Then VouchList1.AutoFilter (True)
32、0; Else VouchList1.AutoFilter (False) End If注:除非原列表界面的“篩選”功能就不可用,默認(rèn)所有列表界面都支持篩選功能。5. 美化行記錄的間隔背景色了解;6. 新增【自動(dòng)折行】功能;新增的自動(dòng)折行功
33、能,方便顯示欄目里全部信息?!咀詣?dòng)折行】相關(guān)的業(yè)務(wù)組代碼調(diào)整:列表控件(V11.0)增加了對(duì)應(yīng)的接口方法(AutoSizeMode),用于業(yè)務(wù)組在ToolBar上操作新版本追加的check式按鈕折行時(shí)調(diào)用,以實(shí)現(xiàn)單據(jù)列表的折行功能. Case "tlbSize" '折行 If Toolbar1.buttons("tlbSize ").
34、Value= 1 Then VouchList1. AutoSizeMode (True) Else
35、0; VouchList1. AutoSizeMode (False) End If注:默認(rèn)所有列表界面都支持折行功能。7. 新增【復(fù)制】功能;【復(fù)制】相關(guān)的業(yè)務(wù)組代碼調(diào)整:列表控件(V11.0)增加了對(duì)應(yīng)的事件(CopySelect),用于業(yè)務(wù)組代碼調(diào)用判斷是否有輸出權(quán)限 時(shí)調(diào)用,以實(shí)現(xiàn)單據(jù)列表在有輸出權(quán)限的情況下正確的復(fù)制被選中區(qū)域的列表內(nèi)容。'lliang_2011-11-28_新單據(jù)列表:Private Sub VouchList1_C
36、opySelect(bAuther As Boolean) bAuther = CheckPrinExportAuth(CvouType, False, True) 此處直接調(diào)用的是原“輸出”按鈕對(duì)應(yīng)權(quán)限判斷邏輯。End Sub新加快捷鍵:Ctrl+C 復(fù)制、Ctrl+A 反選注:是否支持復(fù)制功能依據(jù)的是原列表是否支持輸出功能。8. 新增【設(shè)計(jì)打印模板方案】功能;列表對(duì)應(yīng)單據(jù)的打印模板在線設(shè)置與選擇:【設(shè)計(jì)打印模板方案】相關(guān)的業(yè)務(wù)組代碼調(diào)整:列表控件(V11.0)增加了對(duì)應(yīng)的接口方法(ShowVou
37、cherDesign),用于業(yè)務(wù)組在ToolBar上操作新版本追加的按鈕設(shè)計(jì)打印模板方案時(shí)調(diào)用,以實(shí)現(xiàn)單據(jù)列表的打印模板設(shè)計(jì)功能. Case "tlbVoucherDesign" '設(shè)計(jì)打印模板 all VouchList.ShowVoucherDesign("qm03", &
38、quot;553")注:默認(rèn)所有列表界面都支持設(shè)計(jì)打印模板方案功能。9. 列表欄目新增計(jì)算列功能;列表欄目新增功能:可以自定義追加計(jì)算列。計(jì)算列的值公式定義:1、 如下圖紅框標(biāo)識(shí)各變化區(qū)域:圖1列表全景圖。包括:toolbar按鈕區(qū)域、標(biāo)題、快捷過(guò)濾、過(guò)濾方案、列表主體、翻頁(yè)(狀態(tài))區(qū)域。10. 單據(jù)列表界面TooLbar公共通用按鈕的邏輯處理了解新增DLL:()Public Function RunCommand(ByVal objLogin As Object, ByVal objForm As Object, ByVal objVoucher As Object, _
39、; ByVal sKey As String, ByVal VarentValue As Variant, ByVal other As String)End Function單據(jù)列表界面TooLbar公共通用按鈕相關(guān)腳本預(yù)置補(bǔ)充說(shuō)明表:AA_FormButtons_base ,字段:
40、ProcessObjectName(平臺(tái)公共處理事件dll)設(shè)置為“U8VouchListCommon.clsToolbarCommon”FunctionKey (按鈕公共Key)設(shè)置為平臺(tái)統(tǒng)一規(guī)范的各公共按鈕Key值。如 打印:Print針對(duì)【EAI輸出】 時(shí)預(yù)置FunctionKey 時(shí)約定格式:eaiexport toolbarkey,PurchaseOrderroottag以上字段如果不預(yù)置,按鈕還走原來(lái)的調(diào)用機(jī)制(由業(yè)務(wù)組自行實(shí)現(xiàn)對(duì)應(yīng)的toolbar_click事件)。目前列表支持的公共通用按鈕包括:【打印】、【輸出】、【預(yù)覽】、【布局】(【上下布局】、【左右布局】、【顯示快捷過(guò)濾條
41、件】、【顯示快捷過(guò)濾方案】)、【定位】、【自動(dòng)折行】、【EAI輸出】、【條件設(shè)置】、【收藏到常用功能】、【篩選】。所以凡涉及這些公共按鈕邏輯的處理業(yè)務(wù)組可以預(yù)置toolbar數(shù)據(jù)的方式通過(guò)列表公共服務(wù)實(shí)現(xiàn)其功能,也可以參考如上說(shuō)明自己實(shí)現(xiàn)toolbar事件處理。建議:針對(duì)如上這些公共按鈕事件里如果沒(méi)有個(gè)性化的業(yè)務(wù)邏輯最好通過(guò)預(yù)置toolbar直接調(diào)用列表公共實(shí)現(xiàn)。注意:如果預(yù)置了對(duì)應(yīng)的toolbar公共處理信息則不會(huì)再調(diào)用原來(lái)的toolbar_click事件。代碼準(zhǔn)備:需要在初始化ToolBar后調(diào)用如下方法' Call Me.CTB.InitExternalButton(mVouch
42、erType, g_Login)' Call CTB.SetFormInfo(Me.ctlVoucher, Me)11. 單據(jù)列表支持EAI輸出快速實(shí)施格式的XLS文件通過(guò)預(yù)置toolbar列表公共處理服務(wù)實(shí)現(xiàn),支持以實(shí)施工具的格式輸出功能。12. 新增【條件設(shè)置】-著色功能通過(guò)預(yù)置toolbar列表公共處理服務(wù)實(shí)現(xiàn)。列表著色:新增功能,用于通過(guò)條件設(shè)置把符合條件的記錄或單元格用設(shè)定的顏色顯著的標(biāo)識(shí)出來(lái)。條件值公式定義:快捷條件值設(shè)置:13. 新增【布局】功能;Ø快捷過(guò)濾用戶可選擇快捷過(guò)濾上下布局或者左右布局,快捷過(guò)濾可設(shè)置是否顯示。列表布局:新增列表各區(qū)域各種組合布局顯示方
43、式左右布局:隱藏快捷過(guò)濾:隱藏過(guò)濾方案:14. 【快捷過(guò)濾動(dòng)態(tài)布局】相關(guān)的業(yè)務(wù)組代碼調(diào)整:列表控件(V11.0)增加了對(duì)應(yīng)的接口方法(IsFltVerticalDisplay、FltSolutionVisiable),用于業(yè)務(wù)組在ToolBar上操作新版本追加的下拉式按鈕布局時(shí)調(diào)用,以實(shí)現(xiàn)單據(jù)列表快捷過(guò)濾動(dòng)態(tài)設(shè)置布局的功能。 Case "tlbVertical" '縱向布局
44、160; If Toolbar1.buttons("tlbVertical ").Value= 1 Then VouchList1. IsFltVerticalDisplay (True) Else
45、; VouchList1. IsFltVerticalDisplay (False) End If Case "tlbSolution" '查詢方案
46、160; If Toolbar1.buttons("tlbSolution ").Value= 1 Then VouchList1. FltSolutionVisiable (True) Else
47、 VouchList1. FltSolutionVisiable (False) End If注:默認(rèn)所有列表界面都支持快捷過(guò)濾動(dòng)態(tài)布局功能。15. 【收藏到常用功能】相關(guān)的業(yè)務(wù)組代碼調(diào)整:此功能實(shí)現(xiàn)是通過(guò)預(yù)置toolbar列表公共處理服務(wù)處理,但是從收藏到桌面的快捷圖標(biāo)進(jìn)入
48、列表的邏輯需要業(yè)務(wù)組參考“菜單發(fā)布”的解析邏輯處理?!安藛伟l(fā)布”具體實(shí)現(xiàn)方案:“雙擊方案菜單傳入的CMDLine串格式:原CMDLine&&&&菜單發(fā)布過(guò)濾方案。(其中過(guò)濾方案包括源菜單MenuID vbtab 過(guò)濾方案ID)得到菜單給的cmdline 后先使用“&&&&”分隔后,前半部分是原來(lái)的cmdline 后半部分菜單發(fā)布過(guò)濾方案。然后調(diào)用過(guò)濾的時(shí)候把過(guò)濾方案ID傳給過(guò)濾對(duì)象并隱藏過(guò)濾對(duì)象。注:非過(guò)濾方案發(fā)布的菜單是不帶&&&&的?!贝a示例: 'lliang_2012-0
49、2-29_菜單發(fā)布:菜單發(fā)布 傳入的cmdline先用&&&&分割 前部分是原來(lái)的 后部分是菜單發(fā)布傳入的 Dim cPara Dim cPara1 '菜單發(fā)布過(guò)濾方案?jìng)魅氲拿?Dim cCmdLineMenu As String sMenuPubFilter = "" cPara1 = Split(cCmdLine, "&&&&") If UBound(cPara1) > 0 Then '原命令和菜單發(fā)布傳入的分開(kāi) cCmdLine = cPara1(0) cCmd
50、LineMenu = cPara1(1) End If '處理菜單發(fā)布傳入的cmdline信息 cPara1 = Split(cCmdLineMenu, vbTab) If UBound(cPara1) >= 1 Then '菜單發(fā)布的源menuid 和 過(guò)濾方案id cMenuId = Trim(cPara1(0) sMenuPubFilter = Trim(cPara1(1) End If處理發(fā)布菜單操作邏輯:'11.0菜單發(fā)布直接傳入解決方案id:sMenuPubFilter,然后過(guò)濾條件自動(dòng)隱藏。If sMenuPubFilter <> &qu
51、ot;" ThenSet fltSrv = New UFGeneralFilter.FilterSrvfltSrv.InitSolutionID = sMenuPubFilterbSuccess = fltSrv.OpenFilter(mLogin, "", cVouch, Now_SysID, ErrStr, True)Else原來(lái)的邏輯End if支持快捷過(guò)濾方案右鍵功能收藏到常用功能:16. 【條件設(shè)置】相關(guān)的業(yè)務(wù)組代碼調(diào)整:此功能實(shí)現(xiàn)是通過(guò)預(yù)置toolbar列表公共處理服務(wù)處理,但數(shù)據(jù)刷新需要業(yè)務(wù)組響應(yīng)toolbar的click事件處理(類似“欄目”設(shè)置后
52、刷新列表數(shù)據(jù)),同時(shí)需要在初始化列表控件時(shí)賦值U8Login對(duì)象。此事件是否會(huì)被調(diào)用由列表公共處理服務(wù)來(lái)控制,無(wú)需業(yè)務(wù)組判斷。VouchList.LoginObj = U8Login Case " DisplayRules" '條件設(shè)置 Call Fresh17. 其他情況注意事項(xiàng):1) FltState:列表新增的可讀寫(xiě)屬性,用于在代碼運(yùn)行時(shí)設(shè)置是否顯
53、示并啟用封裝的快捷過(guò)濾功能(默認(rèn)是顯示),應(yīng)用于原來(lái)就不支持列表查詢的場(chǎng)景,賦值邏輯放在Form_load的開(kāi)始。如:庫(kù)存單據(jù)的“關(guān)聯(lián)單據(jù)”功能。2) PageDivState:列表新增的可讀寫(xiě)屬性,用于在代碼運(yùn)行時(shí)設(shè)置是否顯示并啟用封裝的翻頁(yè)功能(默認(rèn)是顯示),應(yīng)用于原來(lái)就不支持列表翻頁(yè)的場(chǎng)景,賦值邏輯放在Form_load的開(kāi)始。如:庫(kù)存單據(jù)的“批號(hào)”參照錄入功能。3) IsSelectAll:列表新增的僅可寫(xiě)屬性,用于在代碼運(yùn)行時(shí)設(shè)置是否顯示并啟用列表左上角的全選/全消功能(默認(rèn)是顯示),應(yīng)用于原來(lái)就不支持列表全選/全消的場(chǎng)景,賦值邏輯放在Form_load的開(kāi)始。如:售后服務(wù)的“服務(wù)協(xié)
54、議列表”的選擇功能。4) ShowAll:列表新增的方法,用于在代碼運(yùn)行時(shí)顯示全部列表數(shù)據(jù),同時(shí)保持各分頁(yè)參數(shù)不變。應(yīng)用于列表數(shù)據(jù)依然分頁(yè)顯示,但有批量處理所有列表數(shù)據(jù)的功能。如:庫(kù)存單據(jù)列表的“批量輸出”功能。5) SelectAll:列表新增的事件,用于在通過(guò)列表控件(V11.0)左上角的全選/消功能時(shí)響應(yīng)使用列表控件的父對(duì)象(窗體)的操作。應(yīng)用于多列表間的聯(lián)動(dòng)或列表各行間的約束處理等情況,如:庫(kù)存模塊提供的參照生單公共服務(wù)(雙列表)、整單預(yù)留(五列表)。代碼示例如下'lliang_2011-12-01_新單據(jù)列表:Private Sub ctlVouchListHead_Sele
55、ctAll(ByVal Selected As Boolean, IsOverWrite As Boolean)/ 參數(shù)說(shuō)明:Selected 是返回列表控件全選、全消動(dòng)作; / IsOverWrite 是接受父對(duì)象(窗體)是否需要重寫(xiě)列表控件的全選、全消功能. IsOverWrite = True If Selected Then CTBCtrl1_OnCommand enumButton, "tlbSel", "" Else CTBCtrl1_OnCommand enumButton, "tlbUnSel", "&quo
56、t; End IfEnd Sub6) GetListPartHeight:列表新增的方法,用于在代碼運(yùn)行時(shí)獲取列表控件里各區(qū)域的高度,入口參數(shù)section 分別代表 0:快捷過(guò)濾, 1:GridBody, 2:翻頁(yè)控件。應(yīng)用于列在窗體顯示時(shí)隱藏上/下邊界區(qū)域或其他需要獲取列表控件各區(qū)域具體高度的場(chǎng)景。如質(zhì)量追溯查詢列表7) 列表控件(V11.0)的行記錄背景色間隔顯示支持手工設(shè)置。列表控件新增一可讀寫(xiě)屬性(AlternateBackColor)用于手工設(shè)置列表的行記錄間隔背景色,0 代表不設(shè)置。8) “合計(jì)值”顯示區(qū)域還支持用戶自定義的列表信息顯示。列表控件新增一可讀寫(xiě)屬性(ListCust
57、omShortInfo)用于手工設(shè)置用戶自定義的簡(jiǎn)短列表信息。9) 進(jìn)入列表時(shí)快捷過(guò)濾支持直接調(diào)用模擬“查詢”功能的接口: SimpleFilter;直接模擬“高級(jí)查詢”功能的接口:MoreFilter10) 獲取列表記錄對(duì)應(yīng)單據(jù)主鍵值記錄集接口:GetPKeyFldList(bSelect,sVouchKeyName)bSelect參數(shù):設(shè)置是否選擇的記錄行; sVouchKeyName 可選返回參數(shù):返回當(dāng)前列表對(duì)應(yīng)的單據(jù)主鍵字段名稱;11) 除單據(jù)列表界面外其他用到列表控件的界面(如:參照生單界面、整單預(yù)留界面等等)的布局及操作流程保持原樣,本版不作要求。如有需要,具體方案需要對(duì)應(yīng)需求與
58、UE負(fù)責(zé)人確認(rèn)提供。12) 自定義的“(高級(jí))查詢”、WEB頁(yè)面上的列表以及其他所有原來(lái)沒(méi)有使用列表控件而以列表形式展現(xiàn)數(shù)據(jù)的界面 都需要業(yè)務(wù)組根據(jù)新版UE規(guī)范(見(jiàn)圖1)自行同步處理。如下:圖2另:功能菜單在當(dāng)前模塊但功能的實(shí)現(xiàn)在其他模塊的列表界面要積極推動(dòng)處理;除單據(jù)列表界面外其他用到列表控件的界面(如:參照生單界面、整單預(yù)留界面等等)的布局及操作流程暫保持不變。具體方案需要UE組與相關(guān)模塊的需求確認(rèn)最終方案后再作進(jìn)一步處理。其中:“參照生單”這類公共服務(wù),由此公共服務(wù)對(duì)應(yīng)的的提供方列表控件(V11.0)即可,業(yè)務(wù)組使用“參照生單”服務(wù)無(wú)需處理,如有特殊使用場(chǎng)景即時(shí)反饋雙方協(xié)商解決。13)
59、SuperGrid替換為VouchList 操作步驟【可選項(xiàng)】1) 定義過(guò)濾和欄目設(shè)置,需將原來(lái)代碼初始化的欄目轉(zhuǎn)換為Meta庫(kù)AA_ColumnDic_basePrivate objFilter As New UFGeneralFilter.FilterSrvPrivate m_oColSet As New U8ColumnSet.clsColSet2) Form_Load里初始化Dim strErrorRes As String If objFilter.InitBaseVarValue(m_Login, "", "05", "SA&quo
60、t;, "") Then Call VouchList1.InitFlt(m_Login, objFilter, "", "", "", strErrorRes) sWhere = "1=2"End If3) SuperGrid_CellDataCheck事件替換為VouchList_CellValueChanged,其中參數(shù)對(duì)照ByVal C As Long => ByVal Col As IntegerByVal r As Long => ByVal row As Integer
61、RetValue As String => NewValue As VariantRetState = dbCandel => NewValue = OldValue4) SuperGrid _RowColChange事件替換為VouchList_RowColChange5) 對(duì)m_oColSet初始化賦值及單據(jù)列表數(shù)據(jù)裝載Private Sub GetDatas()注意要先設(shè)置VouchList1.SetVchLstRst,再進(jìn)行VouchList1.InitHead,否則不能顯示列表前選擇checkbox Dim strColFormatXml As String m_oCol
62、Set.IsNotIncludeExtendField = True m_oColSet.Init m_Login.UfDbName, m_Login.cUserId Call m_oColSet.setColMode("SettlePrice", 0) ”SettlePrice”為Meta庫(kù)AA_ColumnDic_base中的欄目 strColFormatXml = m_oColSet.getColInfo() VouchList1.FillMode = FillOverwrite 'VouchList1.SumStyle = vlRecordAndGridsu
63、m Dim red As New ADODB.Recordset Dim strSQL As String strSQL = "SELECT * FROM Sales_DXFH_T where " & sWhere red.ActiveConnection = DBConn red.CursorLocation = adUseClient red.Open ConvertSQLString(strSQL), , adOpenForwardOnly, adLockReadOnly Me.VouchList1.SetVchLstRst red VouchList1.RecordCount = red.RecordCount VouchLis
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年5月幼兒園教師工作總結(jié)(3篇)
- 施工合同心得(3篇)
- 2024-2025年云南省德宏傣族景頗族自治州民族第一中學(xué)高一上學(xué)期第二次月考?xì)v史試卷
- 2025年化工石油工程施工合同示范文本
- 2025年專項(xiàng)授權(quán)合同文本
- 2025年住宅吊頂裝修工程協(xié)議樣本
- 2025年泰國(guó)旅游項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 2025年勞動(dòng)合同簽訂解除法律規(guī)定
- 2025年高壓清洗車項(xiàng)目申請(qǐng)報(bào)告模式
- 2025年最低生活保障服務(wù)項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模范
- 2025年益陽(yáng)醫(yī)學(xué)高等專科學(xué)校高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2024年臨床醫(yī)師定期考核試題中醫(yī)知識(shí)題庫(kù)及答案(共330題) (二)
- 2024 年陜西公務(wù)員考試行測(cè)試題(B 類)
- 2025-2030年中國(guó)反滲透膜行業(yè)市場(chǎng)發(fā)展趨勢(shì)展望與投資策略分析報(bào)告
- 湖北省十堰市城區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末質(zhì)量檢測(cè)道德與法治試題 (含答案)
- 幼兒園師德師風(fēng)培訓(xùn)內(nèi)容
- 《榜樣9》觀后感心得體會(huì)四
- 人教版小學(xué)數(shù)學(xué)一年級(jí)下冊(cè)教案
- 2025年山東省濟(jì)寧高新區(qū)管委會(huì)“優(yōu)才”招聘20人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年中國(guó)社會(huì)科學(xué)評(píng)價(jià)研究院第一批專業(yè)技術(shù)人員招聘2人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- (2024年高考真題)2024年普通高等學(xué)校招生全國(guó)統(tǒng)一考試數(shù)學(xué)試卷-新課標(biāo)Ⅰ卷(含部分解析)
評(píng)論
0/150
提交評(píng)論