轉(zhuǎn)帖|使用教程|編輯:鮑佳佳|2020-07-14 17:20:58.033|閱讀 274 次
概述:本文介紹了在2020v1版本中,新增的基于UI的過濾器控件C1FilterEditor。FilterEditor的設(shè)計(jì)具有直觀的UI,允許最終用戶動(dòng)態(tài)創(chuàng)建復(fù)雜的過濾條件。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
ComponentOne Studio for WinForms包含超過65個(gè).NET的控件,其中,還有一些是 WinForms所獨(dú)有的。它擁有敏捷的設(shè)計(jì)器、數(shù)以百計(jì)的樣例和一個(gè)活躍的社區(qū)論壇。它可以幫你完成任何事,不管是要設(shè)計(jì)一個(gè)擁有百萬行的Grid還是一張具有無數(shù)點(diǎn)的圖表。
點(diǎn)擊下載ComponentOne Studio Enterprise最新試用版
在2020v1版本中,我們添加了一個(gè)新的基于UI的過濾器控件C1FilterEditor。FilterEditor的設(shè)計(jì)具有直觀的UI,允許最終用戶動(dòng)態(tài)創(chuàng)建復(fù)雜的過濾條件。
C1FilterEditor
C1FilterEditor是一個(gè)具有樹視圖布局的控件,允許最終用戶通過將過濾器組合和操作添加為節(jié)點(diǎn)來創(chuàng)建高級(jí)過濾器條件。過濾器組合是過濾器操作的集合,過濾器操作是一個(gè)表達(dá)式,使最終用戶可以選擇字段,值和應(yīng)過濾數(shù)據(jù)的邏輯操作的類型。
此控件已添加到“ C1.Win.DataFilter”程序集中,其中包括現(xiàn)有的C1DataFilter控件。
以上是C1FilterEditor的簡(jiǎn)要介紹以及它的界面外觀。接下來我們進(jìn)一步了解更多詳細(xì)信息。
.C1FilterEditor的主要功能:基于UI的過濾
FilterEditor通過添加過濾器操作的組合來過濾數(shù)據(jù)源,這些操作將它們組織成樹狀結(jié)構(gòu)。這個(gè)界面使開發(fā)人員只需單擊幾下即可創(chuàng)建復(fù)雜的過濾條件。
最終用戶互動(dòng)
該控件支持交互式功能,以為最終用戶提供方便的篩選界面。以下列出了最終用戶可以進(jìn)行的操作:
展開/折疊過濾器:
FilterEditor在邏輯上將過濾條件分組(分為And / Or函數(shù)),從而創(chuàng)建樹狀結(jié)構(gòu)。這種布局可以切換過濾條件顯示,并允許更多地關(guān)注特定的過濾操作。C1FilterEditor通過為每個(gè)節(jié)點(diǎn)提供+/-框來啟用此功能。
過濾器的添加/刪除:
最終用戶可以使用FilterEditor動(dòng)態(tài)添加或刪除過濾器組合/操作,并在數(shù)據(jù)控件中同時(shí)查看相應(yīng)的結(jié)果。FilterEditor通過為每個(gè)過濾器組合/操作提供+ / X按鈕來實(shí)現(xiàn)此目的。
拖放過濾器:FilterEditor支持更改過濾器組合的順序和/或通過簡(jiǎn)單地拖放將過濾器操作從一種組合移動(dòng)到另一種組合。C1FilterEditor借助垂直省略號(hào)按鈕啟用此功能。
該控件通過將EnableDragDrop屬性分別設(shè)置為true / false ,可以靈活地允許或禁止拖放。
程序過濾
除了基于動(dòng)態(tài)UI的篩選之外,該控件還支持通過代碼創(chuàng)建相同的篩選條件。這樣,應(yīng)用程序的開發(fā)人員可以通過應(yīng)用預(yù)定義的過濾器來構(gòu)建默認(rèn)視圖。使用CombinationExpression和OperationExpression類可以完成代碼篩選。
無縫整合
FilterEditor控件與任何UI組件無縫集成,從而可以使用不具有任何內(nèi)置過濾支持的UI組件進(jìn)行方便的過濾。
到目前為止,我們已經(jīng)討論了使用C1FilterEditor的好處及其提供的內(nèi)容。但是在深入研究如何利用這些功能的優(yōu)勢(shì)之前,讓我們首先瀏覽一些與C1FilterEditor相關(guān)的常用術(shù)語(yǔ)。
FilterEditor中的術(shù)語(yǔ)
要使用C1FilterEditor構(gòu)建過濾條件,以下是與C1FilterEditor相關(guān)的以下常用術(shù)語(yǔ):
過濾器操作過濾器組合
過濾器組合是一組簡(jiǎn)單的過濾器條件/操作或由同一邏輯運(yùn)算符組合的其他組。用數(shù)學(xué)術(shù)語(yǔ),可以將其視為括號(hào)中的過濾器表達(dá)式中的各個(gè)部分。
例如,“ SupplierID = 4 AND Discontinued = False OR CategoryID = 2”過濾器表達(dá)式可以用圓括號(hào)包裝為“(SupplierID = 4 AND Discontinued = False)OR(CategoryID = 2)”。現(xiàn)在,此表達(dá)式顯示兩個(gè)組:Group1:SupplierID = 4 AND Discontinued = False和Group2:CategoryID = 2,其中每個(gè)組中的過濾條件由同一邏輯運(yùn)算符組合。現(xiàn)在,我們已經(jīng)知道了與C1FilterEditor相關(guān)的術(shù)語(yǔ),讓我們討論
過濾表達(dá)式
C1FilterEditor控件允許通過添加一系列過濾器組合和操作來創(chuàng)建任何復(fù)雜度的過濾器標(biāo)準(zhǔn)。以下各節(jié)說明了其逐步實(shí)現(xiàn):
建立簡(jiǎn)單的過濾條件
即使最簡(jiǎn)單的過濾器表達(dá)式也包含三個(gè)元素:字段,運(yùn)算符和值,統(tǒng)稱為過濾器操作。
要查看實(shí)現(xiàn),請(qǐng)看一下我們?cè)谏厦娴摹斑^濾器操作”標(biāo)題中討論的過濾器標(biāo)準(zhǔn):“ SupplierID = 4”。
運(yùn)行時(shí)步驟:
1.將VS工具箱中的C1FilterEditor控件拖放到WinForms項(xiàng)目的表單上。8.單擊底部的ApplyFilter按鈕。
等效的C#代碼:
上面的過濾器表達(dá)式也可以使用以下代碼實(shí)現(xiàn):通過UI /代碼完成上述步驟將以僅滿足“ SupplierID = 4”條件的記錄將保留在數(shù)據(jù)源/視圖中的方式過濾數(shù)據(jù)源。
建立復(fù)雜的過濾器標(biāo)準(zhǔn)
C1FilterEditor允許創(chuàng)建包含多個(gè)過濾器操作的高級(jí)過濾器條件。也就是說,使用C1FilterEditor可以創(chuàng)建過濾器表達(dá)式,該表達(dá)式由邏輯組合(通過AND / OR運(yùn)算符)的多組過濾條件組成。為了展示,讓我們考慮一個(gè)復(fù)雜的過濾條件:“ SupplierID = 4 AND Discontinued = False OR CategoryID = 2 OR CategoryID = 6”。要實(shí)現(xiàn)這樣的過濾器表達(dá)式,我們首先需要確定組。因此,讓我們將該表達(dá)式用方括號(hào)括起來,并通過邏輯運(yùn)算符將它們組合為“(SupplierID = 4 AND Discontinued = False)OR(CategoryID = 2 OR CategoryID = 6)”。
因此,這兩個(gè)組是組1:(SupplierID = 4 AND Discontinued = False)和組2:(CategoryID = 2或CategoryID = 6)。
運(yùn)行時(shí)步驟:
等效的C#代碼:
上面的過濾器表達(dá)式也可以使用以下代碼實(shí)現(xiàn):
大功告成 上面的代碼將使用復(fù)雜的過濾條件過濾數(shù)據(jù):“ SupplierID = 4 AND Discontinued = False OR CategoryID = 2 OR CategoryID = 6”
本文轉(zhuǎn)載自葡萄城
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: