我试图筛选的BindingSource用的BindingList作为数据源。我试过BindingSource.Filter ='Text Condition'但它没有工作,没有任何反应,屏幕上的数据保持不变。但是,如果我使用DataSet作为它的数据源的作品。是否可以使用BindingSource.Filter属性过滤对象列表?的DataGridView过滤一个BindingSource的与对象的列表作为数据源
我有以下类:
class Person
{
public String Nombre { get; set; }
public String Apellido { get; set; }
public int DNI { get; set; }
public int Edad { get; set; }
public Decimal Tamano { get; set; }
}
这是我如何使用它:
BindingList<Person> personas = new BindingList<Person> {
new Person{ Apellido = "App1", DNI = 3011, Edad = 20, Nombre ="Name1", Tamano = new decimal(1.7)}
,new Person{ Apellido = "App2", DNI = 1520, Edad = 30, Nombre ="Name2", Tamano = new decimal(1.5)}
,new Person{ Apellido = "App3", DNI = 5654, Edad = 21, Nombre ="Name3", Tamano = new decimal(1.6)}
,new Person{ Apellido = "App4", DNI = 778, Edad = 40, Nombre ="Name4", Tamano = new decimal(1.68)}
};
BindingSource bs = new BindingSource();
bs.DataSource = personas;
grid.DataSource = bs;
bs.Filter = "Apellido like 'App1'";
这只是一个例子想法是测试是否可以过滤这样的一个数据源。我将使用新项目中的知识。
PD:我们的想法是能够使用BindingSource.Filter如果可能的话。
谢谢!有了你的信息,我发现IBindingListView的实现,它的工作原理。这里是链接:http://blogs.msdn.com/b/winformsue/archive/2008/05/19/implementing-filtering-on-the-ibindinglistview.aspx – 2012-04-09 14:20:48
我碰到这个前几年,该溶液来为我工作得很好。今天我使用相同的代码只是有点不同:需要两个datagridviews显示相同的FilteredBindingList具有不同的过滤/排序选项。 有关如何实现这一目标的任何想法? – Afshin 2015-07-29 00:38:06