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