翻譯|使用教程|編輯:龔雪|2025-08-25 11:21:47.233|閱讀 63 次
概述:本教程主要為大家介紹DevExpress WinForms數據網格控件中的Excel樣式的自定義過濾器對話框,歡迎下載最新版組件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
DevExpress WinForms擁有180+組件和UI庫,能為Windows Forms平臺創建具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易于使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕松勝任!
在本教程中,您將學習如何使用最終用戶默認可用的Excel樣式過濾器對話框、如何切換到允許您將一個字段的值與另一個字段的值進行比較的版本、如何在代碼中手動調用和自定義這些對話框。
獲取DevExpress WinForms v25.1正式版下載
DevExpress技術交流群11:749942875 歡迎一起進群討論
要調用某個列的Excel樣式過濾器對話框,請單擊該列的過濾器按鈕并在下拉框中選擇 (Custom)。
對話框允許最終用戶創建由AND或OR邏輯運算符組合的一個或兩個條件組成的標準,將第一個條件的比較運算符更改為Is greater than(大于)。在右側的對話框中,輸入值10,讓AND邏輯運算符保持選中狀態。對于第二個條件,選擇Is less than(小于)并輸入值30,單擊OK應用創建的過濾條件。
因此,網格顯示的是單價在10美元到30美元之間的記錄。
關閉應用程序。選擇View,展開它的屬性并啟用選項。
運行應用程序來查看更改,現在當您在列的過濾器下拉列表中選擇(Custom)時,將使用一個不同版本的Custom Filter Dialog(自定義過濾器對話框),此對話框還提供將當前列值與另一列中的值進行比較的功能。通過選擇Field復選框激活第一種條件下的此模式,并在下拉列表中選擇Discount Price列。然后,將比較操作符更改為Does not equal。對于第二個條件,選擇Is less than(小于)并輸入值20,單擊OK來僅顯示那些在單價小于20時已分配折扣的記錄。
下一步是查看如何在代碼中調用和定制自定義篩選器對話框。
若要在Show Custom Filter Editor的Click事件處理程序中為類別列調用自定義篩選器對話框,請調用視圖的方法并將類別列作為參數傳遞。
C#
private void btn_ShowCustomFilterDialog_ItemClick(object sender, ItemClickEventArgs e) { gridView.ShowCustomFilterDialog(colCategory); }
過濾器對話框可以在View的事件中定制,該事件將在即將顯示對話框時引發。為此事件編寫一個處理程序,該處理程序將抑制Unit Price列的默認對話框,然后應用自定義篩選條件。事件的參數標識要過濾的列,指定所需的篩選條件和要在篩選面板中顯示的文本,并用這些設置創建一個新的對象,然后將新的過濾器項分配給事件的參數。最后,將參數設置為true,以防止在事件執行后調用默認的FilterDialog。
C#
private void gridView_CustomFilterDialog(object sender, DevExpress.XtraGrid.Views.Grid.CustomFilterDialogEventArgs e) { if (e.Column.FieldName != "UnitPrice") return; string filterSting = "[UnitPrice] > 10 AND [UnitPrice] < 30"; string displayText = "[UnitPrice] > $10.00 AND [UnitPrice] < $30.00"; ColumnFilterInfo columnFilter = new ColumnFilterInfo(filterSting, displayText); e.FilterInfo = columnFilter; e.Handled = true; }
運行應用程序并單擊Show Custom Filter Editor按鈕,將顯示Category列的過濾器對話框。在調用的對話框中,指定兩個條件來顯示Beverages和Confections類別中的記錄。現在調用Unit Price列的過濾器下拉菜單并選擇(Custom),它選擇單價在10到30之間的記錄。
慧都是?家?業數字化解決?案公司,專注于軟件、?油與?業領域,以深?的業務理解和?業經驗,幫助企業實現智能化轉型與持續競爭優勢。
慧都科技是DevExpress的中國區的合作伙伴,DevExpress作為用戶界面領域的優秀產品,幫助企業高效構建權限管理、數據可視化(如網格/圖表/儀表盤)、跨平臺系統(WinForms/ASP.NET/.NET MAUI)及行業定制解決方案,加速開發并強化交互體驗。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網