多表頭樹形列表控件的創建方法和裝置的制造方法【專利摘要】本發明公開了一種多表頭樹形列表控件的創建方法和裝置,其中,所述方法包括以下步驟:獲取樹形列表控件,樹形列表控制包括多個表頭和樹形列表;對樹形列表控件中的多個表頭進行重寫,以生成多層表頭;以及對樹形列表和多層表頭進行封裝以生成多表頭樹形列表控件。由此,本發明實施例的多表頭樹形列表控件的創建方法,既能夠滿足表頭的多層展現,又能夠支持數據的樹型展現。【專利說明】多表頭樹形列表控件的創建方法和裝置
技術領域:
[0001]本發明涉及.NET
技術領域:
,具體涉及一種多表頭樹形列表控件的創建方法和一種多表頭樹形列表控件的創建裝置。【
背景技術:
】[0002]目前有很多類庫提供了列表控件,有表格的,有樹型列表的。如WinForms自帶的ListView控件和TreeView控件。也有第三方控件DotNetBar類庫中的:DatagridViewX控件和TreeView控件都僅是支持簡單的列表展現。無法支持復雜表頭的需要。[0003]雖然第三方類庫DevExpress提供了BandedGridView控件,支持了多層表頭,但是無法支持數據的樹型展現,此控件雖提供了TreeList控件滿足數據的樹型展現,但又無法滿足表頭的多層展現。然而,在實際的產品開發中,很多客戶都提出以多表頭樹形列表的形式展現數據的需求。【
發明內容】[0004]本發明的目的旨在至少在一定程度上解決上述的技術問題之一。[0005]為此,本發明的第一個目的在于提出一種多表頭樹形列表控件的創建方法,該方法既能夠滿足表頭的多層展現,又能夠支持數據的樹型展現。[0006]本發明的第二個目的在于提出一種多表頭樹形列表控件的創建裝置。[0007]為達上述目的,本發明第一方面實施例提出了一種多表頭樹形列表控件的創建方法,包括以下步驟:獲取樹形列表控件,所述樹形列表控制包括多個表頭和樹形列表;對所述樹形列表控件中的多個表頭進行重寫,以生成多層表頭;以及對所述樹形列表和所述多層表頭進行封裝以生成所述多表頭樹形列表控件。[0008]根據本發明實施例的多表頭樹形列表控件的創建方法,獲取樹形列表控件,對樹形列表控件中的多個表頭進行重寫,以生成多層表頭,以及對樹形列表和多層表頭進行封裝以生成多表頭樹形列表控件。由此,該方法既能夠滿足表頭的多層展現,又能夠支持數據的樹型展現。[0009]另外,根據本發明上述多表頭樹形列表控件的創建方法還可以具有如下附加的技術特征:[0010]在本發明的一個實施例中,所述對所述樹形列表控件中的多個表頭進行重寫,包括:建立BandMapCell對象,用于描述所述多個表頭之間的父子關系以使所述表頭形成樹狀結構;根據所述BandMapCe11對象生成與所述BandMapCe11對象相對應的BandMapCe11數組;建立BandMap對象,所述BandMap對象中包括所述BandMapCe11數組,用于描述每個表頭之間的關系以便對所述每個表頭的字段進行填充。[0011]在本發明的一個實施例中,上述多表頭樹形列表控件的創建方法還包括:對所述每個表頭的字段屬性進行配置,所述字段屬性包括真實列表字段TreeListColumn。[0012]在本發明的一個實施例中,上述多表頭樹形列表控件的創建方法還包括:獲取CommonCreatCont對象,并通過所述CommonCreatCont對象創建UI界面,以及對所述UI界面進行功能配置。[0013]在本發明的一個實施例中,所述功能配置包括列字段配置和字段屬性定制,所述字段屬性定制包括字段類型自定義擴展。[0014]在本發明的一個實施例中,所述功能配置還包括:自定義控件事件、數據過濾條件、默認值和控件對應的查詢區域中的一個或多個。[0015]在本發明的一個實施例中,上述多表頭樹形列表控件的創建方法還包括:通過IColumnMediatable對象對所述多表頭樹形列表控件提供列出初始化方法、數據校驗方法、實際值與顯示值的轉換方法和數據過濾方法中的一種或多種。[0016]為達上述目的,本發明第二方面實施例提出了一種多表頭樹形列表控件的創建裝置,包括:獲取模塊,用于獲取樹形列表控件,所述樹形列表控制包括多個表頭和樹形列表;重寫模塊,用于對所述樹形列表控件中的多個表頭進行重寫,以生成多層表頭;以及封裝模塊,用于對所述樹形列表和所述多層表頭進行封裝以生成所述多表頭樹形列表控件。[0017]根據本發明實施例的多表頭樹形列表控件的創建裝置,通過獲取模塊獲取樹形列表控件,重寫模塊對樹形列表控件中的多個表頭進行重寫,以生成多層表頭,以及封裝模塊對樹形列表和多層表頭進行封裝以生成多表頭樹形列表控件。由此,該裝置既能夠滿足表頭的多層展現,又能夠支持數據的樹型展現。[0018]另外,根據本發明上述多表頭樹形列表控件的創建裝置還可以具有如下附加的技術特征:[0019]在本發明的一個實施例中,所述重寫模塊,用于:建立BandMapCe11對象,用于描述所述多個表頭之間的父子關系以使所述表頭形成樹狀結構;根據所述BandMapCell對象生成與所述BandMapCe11對象相對應的BandMapCe11數組;建立BandMap對象,所述BandMap對象中包括所述BandMapCe11數組,用于描述每個表頭之間的關系以便對所述每個表頭的字段進行填充。[0020]在本發明的一個實施例中,上述多表頭樹形列表控件的創建裝置還包括:配置模塊,用于對所述每個表頭的字段屬性進行配置,所述字段屬性包括真實列表字段TreeListColumn。[0021]在本發明的一個實施例中,上述多表頭樹形列表控件的創建裝置還包括:創建模塊,用于獲取CommonCreatCont對象,并通過所述CommonCreatCont對象創建UI界面,以及對所述UI界面進行功能配置。[0022]在本發明的一個實施例中,所述功能配置包括列字段配置和字段屬性定制,所述字段屬性定制包括字段類型自定義擴展。[0023]在本發明的一個實施例中,所述功能配置還包括:自定義控件事件、數據過濾條件、默認值和控件對應的查詢區域中的一個或多個。[0024]在本發明的一個實施例中,上述多表頭樹形列表控件的創建裝置還包括:提供模塊,用于通過IColumnMediatable對象對所述多表頭樹形列表控件提供列出初始化方法、數據校驗方法、實際值與顯示值的轉換方法和數據過濾方法中的一種或多種。[0025]本發明附加的方面和優點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發明的時間了解到。【附圖說明】[0026]本發明上述的和/或附加的方面和優點從下面結合附圖對實施例的描述中將變得明顯和容易理解,其中,[0027]圖1是根據本發明一個實施例的多表頭樹形列表控件的創建方法的流程圖。[0028]圖2是根據本發明一個實施例的樹形列表控件的具體應用示意圖。[0029]圖3是根據本發明一個實施例的樹形列表控件中的多個表頭進行重寫的流程圖。[0030]圖4是根據本發明一個實施例的多表頭樹形列表控件的實現類圖。[0031]圖5是根據本發明一個實施例的創建BandMapCell數組的示例代碼圖。[0032]圖6是根據本發明一個實施例的設置列的示例代碼圖。[0033]圖7是根據本發明一個實施例的多表頭樹形列表控件的具體應用示意圖。[0034]圖8是根據本發明一個實施例的多表頭樹形列表控件的創建裝置的方框示意圖。[0035]圖9是根據本發明另一個實施例的多表頭樹形列表控件的創建裝置的方框示意圖。[0036]圖10是根據本發明有一個實施例的多表頭樹形列表控件的創建裝置的方框示意圖。【具體實施方式】[0037]下面詳細描述本發明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發明,而不能理解為對本發明的限制。[0038]下面參照附圖來描述根據本發明實施例提出的多表頭樹形列表控件的創建方法和裝置。[0039]圖1為根據本發明一個實施例的多表頭樹形列表控件的創建方法的流程圖。[0040]如圖1所示,本發明實施例的多表頭樹形列表控件的創建方法,包括以下步驟:[0041]SI,獲取樹形列表控件,樹形列表控制包括多個表頭和樹形列表。其中,樹形列表控件可以是TreeList控件。進一步的,如圖2所示是TreeList控件的一個具體應用示例。[0042]S2,對樹形列表控件中的多個表頭進行重寫,以生成多層表頭。[0043]在本發明的一個實施例中,如圖3所示,對樹形列表控件(例如,TreeLiSt控件)中的多個表頭進行重寫可包括以下步驟:[0044]S21,建立BandMapCelI對象,用于描述多個表頭之間的父子關系以使表頭形成樹狀結構。[0045]S22,根據BandMapCe11對象生成與BandMapCe11對象相對應的BandMapCe11數組。[0046]S23,建立BandMap對象,BandMap對象中包括BandMapCelI數組,用于描述每個表頭之間的關系以便對每個表頭的字段進行填充。[0047]具體地,如圖4所示,新建一個BandMapCelI對象,描述多個表頭之間的父子關系,以使表頭形成樹狀結構,而后建立對象BandMap,包含一個BandMapCe11數組,描述表頭中對應表格之間的關系,以及實現對字段的填充。其中,創建BandMapCell數組的示例代碼如圖5所示。[0048]在本發明的一個實施例中,對每個表頭的字段屬性進行配置,字段屬性包括真實列表字段TreeListCoIumnο[0049]具體地,封裝對象MyTreeListBand,模擬一個新的列表字段。描述字段屬性,其中包含了真實的列表字段TreeListColumn。同時實現,對虛擬表頭的設置,達到設置真實表頭的目的。[°°50]其中,該實施例中所說的對象MyTreeListBand可為用戶根據實際的需求封裝的一個對象。進一步地,設置列的示例代碼如圖6所示。[°°511需要理解的是,TreeListCoIumn是被分裝的第三方類庫DevExpress樹形控件TreeList控件中提供的列對象。并且MyTreeLiStBand對象中的列表字段可包含表頭和具體的列信息,該對象中的表頭,即虛擬表頭,該對象中的列可放置被分裝的TreeListCoIumn對象,隱藏TreeListColumn對象中原來真實的表頭。使用BandMap對象中的描述關系去重新繪制表頭,而后結合TreeListCoIumn列信息,^MyTreeLiStBand^lJ的設置同時反映到TreeListCoIumn列上。[0052]S3,對樹形列表和多層表頭進行封裝以生成多表頭樹形列表控件。其中,如圖7所示是多表頭樹形列表控件的一個具體應用示例。[0053]在本發明的一個實施例中,上述多表頭樹形列表控件的創建方法還包括,獲取CommonCreatCont對象,并通過CommonCreatCont對象創建UI界面,以及對UI界面進行功能配置。其中,功能配置包括列字段配置和字段屬性定制,字段屬性定制包括字段類型自定義擴展。其中,UI界面可以是多表頭樹形列表控件的配置界面。[0054]進一步地,功能配置還包括自定義控件事件、數據過濾條件、默認值和控件對應的查詢區域中的一個或多個。[0055]需要說明的是,在本發明的實施例中,字段屬性定制可用到的字段控件類型可支持文本框、下拉框、可選下拉框、單選框、復選框、輔助錄入、日期選擇框、整數框、金額框、按鈕、分隔條、時間段、大文本框、金額段、指標文號錄入框、項目目錄控件和年度下拉框等。[0056]在本發明的一個實施例中,上述多表頭樹形列表控件的創建方法還包括,通過ICoIumnMediatabIe對象對多表頭樹形列表控件提供列出初始化方法、數據校驗方法、實際值與顯示值的轉換方法和數據過濾方法中的一種或多種。其中JColumnMediatable對象可以是接口對象類。[0057]具體而言,新建接口IColumnMediatable,可提供列出初始化方法、數據校驗方法、實際值與顯示值的轉換方法和數據過濾方法等,并且不同類型的列類型,都可有一個實現此接口的實現類。使用工廠設計模式,通過類型創建以上不同類型的列類型的實現,以便到達列字段的不同展現形式。從而簡化方法的調用過程以及方便后期的應用與維護。[0058]根據本發明實施例的多表頭樹形列表控件的創建方法,獲取樹形列表控件,對樹形列表控件中的多個表頭進行重寫,以生成多層表頭,以及對樹形列表和多層表頭進行封裝以生成多表頭樹形列表控件。由此,該方法既能夠滿足表頭的多層展現,又能夠支持數據的樹型展現。[0059]為了實現上述實施例,本發明還提出一種多表頭樹形列表控件的創建裝置。[0060]圖8是根據本發明一個實施例的多表頭樹形列表控件的創建裝置的方框示意圖。[0061]如圖8所示,該多表頭樹形列表控件的創建裝置包括:獲取模塊100、重寫模塊200和封裝模塊300。[0062]具體地,獲取模塊100用于獲取樹形列表控件,樹形列表控制包括多個表頭和樹形列表。其中,樹形列表控件可以是TreeList控件。進一步的,如圖2所示是TreeList控件的一個具體應用示例。[0063]重寫模塊200用于對樹形列表控件中的多個表頭進行重寫,以生成多層表頭。[0064]在本發明的一個實施例中,上述重寫模塊200可用于建立BandMapCe11對象,用于描述多個表頭之間的父子關系以使表頭形成樹狀結構,并根據BandMapCe11對象生成與BandMapCe11對象相對應的BandMapCe11數組,以及建立BandMap對象,其中,BandMap對象中包括BandMapCelI數組,用于描述每個表頭之間的關系以便對每個表頭的字段進行填充。[0065]具體地,如圖4所示,重寫模塊200可新建一個BandMapCelI對象,描述多個表頭之間的父子關系,以使表頭形成樹狀結構,而后建立對象BandMap,包含一個BandMapCell數組,描述表頭中對應表格之間的關系,以及實現對字段的填充。其中,創建BandMapCelI數組的示例代碼如圖5所示。[0066]在本發明的一個實施例中,如圖9所示,上述多表頭樹形列表控件的創建裝置還可包括配置模塊400用于對每個表頭的字段屬性進行配置,其中,字段屬性可包括真實列表字段TreeListCoIumnο[0067]具體地,配置模塊400封裝對象MyTreeLiStBand,模擬一個新的列表字段。描述字段屬性,其中包含了真實的列表字段TreeListColumn。同時實現,對虛擬表頭的設置,達到設置真實表頭的目的。[0068]其中,該實施例中所說的對象MyTreeListBand可為用戶根據實際的需求封裝的一個對象。進一步地,設置列的示例代碼如圖6所示。[0069]需要理解的是,TreeListCoIumn是被分裝的第三方類庫DevExpress樹形控件TreeList控件中提供的列對象。并且MyTreeLiStBand對象中的列表字段可包含表頭和具體的列信息,該對象中的表頭,即虛擬表頭,該對象中的列可放置被分裝的TreeListCoIumn對象,隱藏TreeListColumn對象中原來真實的表頭。使用BandMap對象中的描述關系去重新繪制表頭,而后結合TreeListCoIumn列信息,^MyTreeLiStBand^lJ的設置同時反映到TreeListCoIumn列上。[0070]封裝模塊300用于對樹形列表和多層表頭進行封裝以生成多表頭樹形列表控件。其中,如圖7所示是多表頭樹形列表控件的一個具體應用示例。[0071]在本發明的一個實施例中,如圖10所示,上述多表頭樹形列表控件的創建裝置還可包括創建模塊500和提供模塊600,其中,[0072]創建模塊500用于獲取CommonCreatCont對象,并通過CommonCreatCont對象創建UI界面,以及對UI界面進行功能配置。其中,功能配置包括列字段配置和字段屬性定制,字段屬性定制包括字段類型自定義擴展。其中,UI界面可以是多表頭樹形列表控件的配置界面。[0073]進一步地,能配置還包括自定義控件事件、數據過濾條件、默認值和控件對應的查詢區域中的一個或多個。[0074]需要說明的是,在本發明的實施例中,字段屬性定制可用到的字段控件類型可支持文本框、下拉框、可選下拉框、單選框、復選框、輔助錄入、日期選擇框、整數框、金額框、按鈕、分隔條、時間段、大文本框、金額段、指標文號錄入框、項目目錄控件和年度下拉框等。[0075]提供模塊600用于通過ICoIumnMediatable對象對多表頭樹形列表控件提供列出初始化方法、數據校驗方法、實際值與顯示值的轉換方法和數據過濾方法中的一種或多種。其中,IColumnMediatable對象可以是接口對象類。[0076]具體而言,提供模塊600新建接口IColumnMediatable,可提供列出初始化方法、數據校驗方法、實際值與顯示值的轉換方法和數據過濾方法等,并且不同類型的列類型,都可有一個實現此接口的實現類。使用工廠設計模式,通過類型創建以上不同類型的列類型的實現,以便到達列字段的不同展現形式。從而簡化方法的調用過程以及方便后期的應用與維護。[0077]根據本發明實施例的多表頭樹形列表控件的創建裝置,通過獲取模塊獲取樹形列表控件,重寫模塊對樹形列表控件中的多個表頭進行重寫,以生成多層表頭,以及封裝模塊對樹形列表和多層表頭進行封裝以生成多表頭樹形列表控件。由此,該裝置既能夠滿足表頭的多層展現,又能夠支持數據的樹型展現。[0078]在本發明的描述中,需要理解的是,術語“中心”、“縱向”、“橫向”、“長度”、“寬度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”、“內”、“外”、“順時針”、“逆時針”、“軸向”、“徑向”、“周向”等指示的方位或位置關系為基于附圖所示的方位或位置關系,僅是為了便于描述本發明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構造和操作,因此不能理解為對本發明的限制。[0079]此外,術語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術特征的數量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括一個或者更多個該特征。在本發明的描述中,“多個”的含義是兩個或兩個以上,除非另有明確具體的限定。[0080]在本發明中,除非另有明確的規定和限定,術語“安裝”、“相連”、“連接”、“固定”等術語應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或成一體;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內部的連通或兩個元件的相互作用關系。對于本領域的普通技術人員而言,可以根據具體情況理解上述術語在本發明中的具體含義。[0081]在本發明中,除非另有明確的規定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接觸,或第一和第二特征通過中間媒介間接接觸。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或僅僅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或僅僅表示第一特征水平高度小于第二特征。[0082]在本說明書的描述中,參考術語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結合該實施例或示例描述的具體特征、結構、材料或者特點包含于本發明的至少一個實施例或示例中。在本說明書中,對上述術語的示意性表述不必須針對的是相同的實施例或示例。而且,描述的具體特征、結構、材料或者特點可以在任一個或多個實施例或示例中以合適的方式結合。此外,在不相互矛盾的情況下,本領域的技術人員可以將本說明書中描述的不同實施例或示例以及不同實施例或示例的特征進行結合和組合。[0083]盡管上面已經示出和描述了本發明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發明的限制,本領域的普通技術人員在本發明的范圍內可以對上述實施例進行變化、修改、替換和變型。【主權項】1.一種多表頭樹形列表控件的創建方法,其特征在于,包括以下步驟:獲取樹形列表控件,所述樹形列表控制包括多個表頭和樹形列表;對所述樹形列表控件中的多個表頭進行重寫,以生成多層表頭;以及對所述樹形列表和所述多層表頭進行封裝以生成所述多表頭樹形列表控件。2.根據權利要求1所述的多表頭樹形列表控件的創建方法,其特征在于,所述對所述樹形列表控件中的多個表頭進行重寫,包括:建立BandMapCelI對象,用于描述所述多個表頭之間的父子關系以使所述表頭形成樹狀結構;根據所述BandMapCelI對象生成與所述BandMapCelI對象相對應的BandMapCelI數組;建立BandMap對象,所述BandMap對象中包括所述BandMapCe11數組,用于描述每個表頭之間的關系以便對所述每個表頭的字段進行填充。3.根據權利要求1或2所述的多表頭樹形列表控件的創建方法,其特征在于,還包括:對所述每個表頭的字段屬性進行配置,所述字段屬性包括真實列表字段TreeListColumn04.根據權利要求1所述的多表頭樹形列表控件的創建方法,其特征在于,還包括:獲取CommonCreatCont對象,并通過所述CommonCreatCont對象創建UI界面,以及對所述UI界面進行功能配置。5.根據權利要求4所述的多表頭樹形列表控件的創建方法,其特征在于,所述功能配置包括列字段配置和字段屬性定制,所述字段屬性定制包括字段類型自定義擴展。6.如權利要求5所述的多表頭樹形列表控件的創建方法,其特征在于,所述功能配置還包括:自定義控件事件、數據過濾條件、默認值和控件對應的查詢區域中的一個或多個。7.如權利要求1所述所述的多表頭樹形列表控件的創建方法,其特征在于,還包括:通過IColumnMediatable對象對所述多表頭樹形列表控件提供列出初始化方法、數據校驗方法、實際值與顯示值的轉換方法和數據過濾方法中的一種或多種。8.一種多表頭樹形列表控件的創建裝置,其特征在于,包括:獲取模塊,用于獲取樹形列表控件,所述樹形列表控制包括多個表頭和樹形列表;重寫模塊,用于對所述樹形列表控件中的多個表頭進行重寫,以生成多層表頭;以及封裝模塊,用于對所述樹形列表和所述多層表頭進行封裝以生成所述多表頭樹形列表控件。9.根據權利要求8所述的多表頭樹形列表控件的創建裝置,其特征在于,所述重寫模塊,用于:建立BandMapCelI對象,用于描述所述多個表頭之間的父子關系以使所述表頭形成樹狀結構;根據所述BandMapCelI對象生成與所述BandMapCelI對象相對應的BandMapCelI數組;建立BandMap對象,所述BandMap對象中包括所述BandMapCe11數組,用于描述每個表頭之間的關系以便對所述每個表頭的字段進行填充。10.根據權利要求8或9所述的多表頭樹形列表控件的創建裝置,其特征在于,還包括:配置模塊,用于對所述每個表頭的字段屬性進行配置,所述字段屬性包括真實列表字段TreeListCoIumnο11.根據權利要求8所述的多表頭樹形列表控件的創建裝置,其特征在于,還包括:創建模塊,用于獲取CommonCreatCont對象,并通過所述CommonCreatCont對象創建UI界面,以及對所述UI界面進行功能配置。12.根據權利要求11所述的多表頭樹形列表控件的創建裝置,其特征在于,所述功能配置包括列字段配置和字段屬性定制,所述字段屬性定制包括字段類型自定義擴展。13.根據權利要求12所述的多表頭樹形列表控件的創建裝置,其特征在于,所述功能配置還包括:自定義控件事件、數據過濾條件、默認值和控件對應的查詢區域中的一個或多個。14.根據權利要求8所述的多表頭樹形列表控件的創建裝置,其特征在于,還包括:提供模塊,用于通過ICoIumnMediatable對象對所述多表頭樹形列表控件提供列出初始化方法、數據校驗方法、實際值與顯示值的轉換方法和數據過濾方法中的一種或多種。【文檔編號】G06F3/0482GK106095251SQ201610393582【公開日】2016年11月9日【申請日】2016年6月6日公開號201610393582.3,CN106095251A,CN106095251A,CN201610393582,CN-A-106095251,CN106095251A,CN106095251A,CN201610393582,CN201610393582.3【發明人】楊德志,曾紀才,牛京杰,朱玲,于慶鋒【申請人】北京中科江南信息技術股份有限公司