C# 将Listbox绑定到bindinglist,筛选项属性

C# 将Listbox绑定到bindinglist,筛选项属性,c#,winforms,data-binding,listbox,bindinglist,C#,Winforms,Data Binding,Listbox,Bindinglist,我正在处理一个Winforms应用程序,我有一个bindinglist对象,我想绑定到一个listbox。我实现了这一点,但我接下来要做的是,只显示特定属性为真的项 所以我有一个带有绑定列表的类 class DataBuilder { public BindingList<TableSet> allTableSets = new BindingList<TableSet>(); } 现在在我的表单上,我想将一个列表框绑定到AllTableset,但只显示

我正在处理一个Winforms应用程序,我有一个bindinglist对象,我想绑定到一个listbox。我实现了这一点,但我接下来要做的是,只显示特定属性为真的项

所以我有一个带有绑定列表的类

class DataBuilder
{    
    public BindingList<TableSet> allTableSets = new BindingList<TableSet>();
}
现在在我的表单上,我想将一个列表框绑定到AllTableset,但只显示
IsPopulated==true

到目前为止,我在表单上看到的只是AllTables列表中的所有项

public partial class MainForm : Form
{
    DataBuilder dataBuilder = new DataBuilder();
    {
        this.populatedTableSetsListBox.DataSource = dataBuilder.allTableSets;
        this.populatedTableSetsListBox.DisplayMember = "TableSetName";
    }
}

我一直在网上搜索,但没有发现任何与我尝试做的事情类似的东西。非常感谢您提供的任何建议或替代方法。谢谢您

尝试以下方法:在您的
DataBuilder
类中,有一个函数可以根据您的筛选条件返回项目的子集

例如,在
DataBuilder
类中:

    public BindingList<TableSet> someTableSets()
    {
        BindingList<TableSet> someTableList = new BindingList<TableSet>();
        foreach (TableSet TS in allTableSets)
            if (TS.IsPopulated == true)
                someTableList.Add(TS);
        return someTableList;
    }

正在绑定的数据是否正在运行某种类型的查询?如果是这样,请更改查询并添加一个
Where
子句
Where IsPopulated=true
@DJ KRAZE-否在我的
类DataBuilder中
我实例化了几个
选项卡集
,每个选项卡集通过DataTables保存不同的数据。我还有其他填充的代码DataTables是通过对数据库的查询生成的,当查询完成时,我会更新
表集的
IsPopulated
属性,我想您指的是someTableList.Add(TS)
    public BindingList<TableSet> someTableSets()
    {
        BindingList<TableSet> someTableList = new BindingList<TableSet>();
        foreach (TableSet TS in allTableSets)
            if (TS.IsPopulated == true)
                someTableList.Add(TS);
        return someTableList;
    }
    this.populatedTableSetsListBox.DataSource = dataBuilder.someTableSets();