界面控件DevExpress WinForms Lookup中文教程 - 如何實現多項目選擇?

在最新發布的v23.1版本中,DevExpress WinForms Lookup Editor(查找編輯器)引入了一個非常受歡迎的功能——多項選擇。在這種新的選擇模式下,Lookup Editor顯示一個帶有複選框的列,用戶可以使用鼠標或鍵盤選擇查找項。

DevExpress WinForms 擁有180+組件和UI庫,能爲Windows Forms平臺創建具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易於使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕鬆勝任!

獲取DevExpress v23.1正式版下載

DevExpress技術交流羣8:523159565      歡迎一起進羣討論

啓用多項選擇

使用EditValueType屬性來啓用多項選擇,此屬性指定Lookup如何在其EditValue屬性中存儲所選值。可用的選項包括:

  • LookUpEditValueType.ValueList —Lookup將選擇的值存儲爲對象(List<object>)。
  • LookUpEditValueType.CSVString — Lookup將選定的值存儲爲帶有逗號分隔值的字符串。

下面的示例演示如何激活多項選擇,將查找的EditValue屬性設置爲一個帶有id的列表,以便在應用程序啓動時選擇相應的產品。

DevExpress WinForms Lookup組件中文教程 - 如何實現多項目選擇?

將選定狀態綁定到數據

Lookup Editor(查找編輯器)可以保存有關數據源字段中所選項的信息,使用CheckBoxSelectorName屬性指定包含所選項信息的字段名。如果此字段包含非布爾值類型,您還應該處理以下事件來根據需要 "convert" 字段值:

如何綁定到布爾數據字段

從下面的截圖中可以看到,lookup創建了一個選擇器列(Add to Order),並將其綁定到“Selected”數據字段。

DevExpress WinForms Lookup組件中文教程 - 如何實現多項目選擇?

如何綁定到集合屬性

如果將EditValueType屬性設置爲LookUpEditValueType.ValueList,則可以將查找的EditValue屬性綁定到只讀集合類型屬性,這個操作是由EnableEditValueCollectionEditing 設置控制的(默認情況下是啓用的)。

DevExpress WinForms Lookup組件中文教程 - 如何實現多項目選擇?

 

有條件的選擇

使用此選項,您可以阻止用戶根據特定條件選擇項目,處理SelectionChanging事件並將e.Cancel參數設置爲true來取消項目選擇。

using DevExpress.XtraEditors.Controls;

public partial class Form1 : XtraForm {
List<ProductB> products;
public Form1() {
InitializeComponent();
//...
lookUpEdit1.Properties.SelectionChanging += Properties_SelectionChanging;
}
private void Properties_SelectionChanging(object sender, PopupSelectionChangingEventArgs e) {
e.Cancel = products[e.RecordIndex].InStock == 0;
}
}

重要提示:WinForms LookUpEdit控件可以選擇多個項目,GridLookUpEdit、TreeListLookUpEdit和SearchLookUpEdit控件不支持此功能。


更多DevExpress線上公開課、中文教程資訊請上中文網獲取


 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章