【发布时间】:2013-01-27 00:37:10
【问题描述】:
我正在开发一个 Winforms 应用程序,并且我有一个要绑定到列表框的对象的绑定列表。我得到了这个工作,但我接下来要做的是只显示特定属性为真的项目。
所以我有一个带有绑定列表的类
class DataBuilder
{
public BindingList<TableSet> allTableSets = new BindingList<TableSet>();
}
还有一个具有一些属性的类TableSet
class TableSet
{
public string TableSetName {get; set;}
public bool IsPopulated {get; set;}
}
现在在我的表单上,我想将一个列表框绑定到 allTableSets,但只显示IsPopulated == true 所在的项目
到目前为止,我的表单中只显示了 allTableSets 列表中的所有项目
public partial class MainForm : Form
{
DataBuilder dataBuilder = new DataBuilder();
{
this.populatedTableSetsListBox.DataSource = dataBuilder.allTableSets;
this.populatedTableSetsListBox.DisplayMember = "TableSetName";
}
}
我一直在网上寻找,但没有发现任何与我正在尝试做的类似的事情。非常感谢任何建议或替代方法。谢谢
【问题讨论】:
-
这个被绑定的数据你在运行某种查询吗..?如果是这样,那么更改查询并添加
Where子句WHERE IsPopulated = true -
@DJ KRAZE - 在我的
class DataBuilder中没有我实例化了几个TabeleSets,每个TabeleSets通过DataTables 保存不同的数据。我有其他代码通过查询数据库填充 DataTables,当查询完成时,我更新TableSet的IsPopulated属性
标签: c# winforms data-binding listbox bindinglist