原創|行業資訊|編輯:龔雪|2025-08-29 11:22:20.090|閱讀 34 次
概述:本教程主要為大家介紹DevExpress WinForms數據網格控件中的過濾編輯器,歡迎下載最新版組件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
DevExpress WinForms擁有180+組件和UI庫,能為Windows Forms平臺創建具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易于使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕松勝任!
DevExpress WinForms Grid控件附帶了一個內置的Filter Editor(過濾編輯器對話框),允許最終用戶使用樹形過濾構建器界面或像Visual Studio IntelliSense一樣帶有提示的文本編輯器來構建任何復雜程度的過濾器標準。在本教程中,您將了解最終用戶如何調用此對話框,哪些選項會影響其可用性,以及如何在顯示對話框之前從代碼中調用它并自定義它。
獲取DevExpress WinForms v25.1正式版下載
DevExpress技術交流群11:749942875 歡迎一起進群討論
要調用Filter Editor(過濾編輯器),右鍵單擊任何列標題,并在上下文菜單中選擇Filter Editor…。
默認情況下,Filter EditorFilter Editor(過濾編輯器)將過濾條件顯示為樹,其中各個節點表示簡單的過濾條件。根節點是組合所有條件的邏輯運算符,任何過濾條件都由三部分組成:列名、標準操作符和操作數值。如果未過濾網格的數據,則編輯器將為所單擊的列包含一個不完整的過濾條件。
單擊數值框,在下拉列表中選擇Medium。
單擊OK關閉編輯器并應用更改。因此網格只顯示優先級設置為Medium的記錄,現在您可以使用Filter Panel(過濾面板)中的Edit Filter按鈕來調用Filter Editor(過濾編輯器)。
要添加新的過濾條件,請單擊根節點旁邊的加號按鈕(FilterEditor_EU_AddButton),這也可以通過單擊邏輯運算符并選擇Add Condition來完成。
在可用列列表中選擇Name,然后使用Contains比較運算符并在值框中輸入‘vendor’字符串。單擊Apply來過濾數據,而不關閉編輯器。
網格現在顯示具有中等優先級的記錄,名稱中包含‘vendor’。
現在通過單擊FilterEditor_EU_DeleteButton按鈕或在邏輯運算符的菜單中選擇Clear All來刪除所有過濾條件。
用戶可以從多項目過濾條件中選擇特定的項目(例如,“Is Any Of”、“Is One Of”)并刪除它們,使用鍵盤或“Ctrl+Click”選擇需要配置的項,按Delete刪除項目。
現在可以創建更復雜的過濾條件,要創建一個新的條件組,請單擊根邏輯操作符并選擇Add Group。
將創建的邏輯運算符更改為OR。
在該組中創建兩個新條件,這些條件將選擇具有高優先級或狀態設置為New的記錄。以同樣的方式,再創建一個帶有兩個條件的OR條件組,這些條件將選擇“創建日期”介于1月1日和今天之間的記錄,或者“固定日期”大于4月1日的記錄。
單擊OK,使用創建的標準過濾數據,您將在篩選面板中看到整個篩選條件。
現在嘗試一個不同的過濾條件編輯器UI,在設計時,訪問視圖的設置,展開,并將屬性設置為。
運行應用程序并調用過濾器編輯器,現在您可以直接在嵌入的富文本編輯器中輸入過濾字符串。當輸入過濾器時,會自動調用操作符和字段名的下拉列表,這很像Visual Studio的智能感知功能。
找到相同的屬性并將編輯模式設置為,過濾編輯器將在各自的選項卡中顯示可視化和文本編輯器。
如果您不希望最終用戶從列標題菜單中調用對話框,請將屬性設置為false。
注意,過濾器面板的Edit Filter按鈕也變得不可見。
返回到設計時,查看如何在代碼中調用和自定義Filter Editor(過濾編輯器)。
在顯示Show Filter Editor按鈕的Click事件處理程序中,調用視圖的方法來可視樣式調用過濾編輯器。
C#
private void btn_ShowFilterEditor_ItemClick(object sender, ItemClickEventArgs e) { gridView.OptionsFilter.DefaultFilterEditorView = DevExpress.XtraEditors.FilterEditorViewMode.Visual; gridView.ShowFilterEditor(null); }
此外,處理視圖的事件,該事件在即將顯示過濾器編輯器時引發。在事件處理程序中,使用事件的參數的屬性自定義值color。啟用 選項,來允許將一列的值與其他列中的值或預定義常量進行比較。
C#
private void gridView_FilterEditorCreated(object sender, DevExpress.XtraGrid.Views.Base.FilterControlEventArgs e) { e.FilterControl.AppearanceValueColor = Color.Red; e.FilterControl.ShowOperandTypeIcon = true; }
運行應用程序并單擊Show Filter Editor按鈕,在調用的編輯器中,添加一個新條件,然后單擊現在顯示在刪除按鈕左側的操作數類型圖標。
單擊值框,選擇Date and time constants,并選擇This year。
將比較運算符更改為小于,添加另一個條件,選擇“優先級”為“中等”的記錄。請注意,該值是使用事件處理程序中指定的紅色繪制的。
慧都是?家?業數字化解決?案公司,專注于軟件、?油與?業領域,以深?的業務理解和?業經驗,幫助企業實現智能化轉型與持續競爭優勢。
慧都科技是DevExpress的中國區的合作伙伴,DevExpress作為用戶界面領域的優秀產品,幫助企業高效構建權限管理、數據可視化(如網格/圖表/儀表盤)、跨平臺系統(WinForms/ASP.NET/.NET MAUI)及行業定制解決方案,加速開發并強化交互體驗。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網