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