我有一個BindingList 串列和一個ComboBox dropdownUI。
如果我這樣做:dropdownUI.DataSource = list,串列中的所有員工都將顯示在下拉串列中。我想知道是否有辦法只顯示具有 hidden = false 的員工,所以當我修改員工隱藏屬性時,我可以從組合框中隱藏記錄?
public class Employee {
public string name {get; set;}
public bool hidden {get; set;}
public Employee(string name, bool hidden) {
this.name = name;
this.hidden = hidden;
}
}
uj5u.com熱心網友回復:
沒有辦法使用它BindingList本身。它實作了IBindingList介面,但您需要IBindingListView介面來進行過濾。您有三個主要選擇:
- 定義您自己的自定義類來實作
IBindingListView. - 使用資料填充 a
DataTable并直接系結或通過 a 系結BindingSource。當你系結 aDataTable時,資料實際上來自它DefaultView的 typeDataView。兩者兼而有之。DataView_BindingSourceIBindingListView - 根據所需的過濾器創建一個新串列并系結它而不是原始串列。
前兩個選項將允許您修改專案并讓過濾器自動更新 UI,而第三個選項將要求您在每次修改專案時生成一個新的過濾串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/522142.html
