概述
數據切片器在電子商務網站上很常見 - 它們可以幫助用戶快速過濾所選商品,並且所有過濾選項都可以在一個地方使用,通常包含核心控件類型爲:清單,範圍欄和單選按鈕等。在ComponentOne For WinForm 最新版 2018V3 中,我們推出了數據過濾器的測試版,可以附加到任何數據感知控件中。
濾鏡佈局由手風琴面板組成,它爲過濾條件提供了擴展/摺疊選項:
以下就是ComponentOne For WinForm DataFilter控件的一些用法。
使用DataFilter過濾儀表板中的多個控件
儀表板是DataFilters的最佳實踐,因爲屏幕上的所有信息都可以在一個地方以交互方式進行過濾,從而使用戶可以通過選擇從數據中獲取更多信息。 此外,每個視覺所觸及之處都可以連接到DataFilter以進一步向下鑽取。
當產品目錄涉及大量有關產品的信息時,數據切片器將會派上用場:
將DataFilter控件集成到FlexGrid中
在處理Grid或TreeView等數據控件時,切片器可以是一個有用的交互式過濾工具。 當用戶需要在多個列上進行過濾時,可以更輕鬆地將它們全部設置在一個位置:
WinForm DataFilter的體系結構
DataFilter使用C1CollectionView進行過濾。 C1CollectionView 功能類似於 .NET CollectionView,它支持對集合進行過濾、分組和排序。
在系統內部,當數據過濾器根據用戶選擇創建過濾器表達式時,表達式將傳遞給C1CollectionView。 C1CollectionView創建數據源的視圖,並根據此表達式應用過濾器。
WinForm DataFilter的用戶界面
數據過濾器控件使用的基本佈局是“抽屜效果”。 即,每個過濾器項目一個接一個地堆疊,其中每個過濾器項目都可以摺疊和展開。
在DataFilter中自動選擇過濾器類型
該控件爲不同類型的數據生成不同的過濾器控件:
- 對於布爾數據字段,DataFilter控件生成一個BoolFilter,由複選框表示。
- 對於數字數據字段,控件將生成RangeFilter,它提供範圍編輯器和範圍滑塊以過濾指定範圍內的值。
- 對於文本/字符串數據字段,控件生成ChecklistFilter,允許用戶從清單中選擇和過濾項目。
- 對於DateTime數據字段,控件生成DateRangeFilter,它提供範圍編輯器和範圍滑塊以過濾指定日期範圍內的值。
異步過濾
異步過濾最常見的使用場景是處理大數據時避免阻塞UI。 DataFilter控件中有一個名爲ApplyFilterAsync的內置方法,就可以實現異步過濾。
保存並加載過濾器
DataFilter控件支持通過C1DataFilter類的SaveFilterExpression和LoadFilterExpression方法進行序列化。SaveFilterExpression方法將當前過濾器表達式從C1.Win.DataFilter.C1DataFilter.Filters集合保存到XML文件。 LoadFilterExpression方法從XML文件加載保存的過濾器表達式。
設置WinForm DataFilter控件的樣式
C1DataFilter類提供了一個Styles屬性,可用於自定義DataFilter控件及其元素的外觀。 在這裏,您可以看到如何編輯按鈕、過濾器、複選框、編輯器、標題、過濾器標題和滾動條:
將 ComponentOne 主題應用於DataFilter
DataFilter支持ComponentOne For WinForm中包含的所有主題,包括最近添加的Material和Office 2016主題。 使用C1ThemeController即可在應用程序範圍內應用主題:
DataFilter在許多應用程序中非常有用。請下載試用最新版 ComponentOne Enterprise .NET控件集,體驗產品並分享您的建議和反饋,以幫助我們改進產品體驗,並添加在2019年v1即將發佈的 ComponentOne 新版本上!
ComponentOne Enterprise | 下載試用
ComponentOne是一款專注於企業應用高性能開發的 .NET 全功能控件套包,包含300餘種控件,支持7大平臺,涵蓋7大功能模塊。較於市面上其他同類產品,ComponentOne更加輕盈,功能更加強大,20多年的開發經驗,將爲您的應用系統帶來更爲安全的使用體驗。純中文操作界面,一對一技術支持,廠商級的技術服務,共同造就了這款國際頂級控件套包。
您對ComponentOne 產品的任何技術問題,都有技術支持工程師提供1對1專業解答,點擊此處即可發帖提問>> 技術支持論壇