C# 将Listbox绑定到bindinglist,筛选项属性
我正在处理一个Winforms应用程序,我有一个bindinglist对象,我想绑定到一个listbox。我实现了这一点,但我接下来要做的是,只显示特定属性为真的项 所以我有一个带有绑定列表的类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,但只显示
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();