Estoy tratando de filtrar un BindingSource con un BindingList como fuente de datos. Intenté BindingSource.Filter = 'Condición del texto' Pero no funcionó, no pasa nada, los datos en la pantalla siguen siendo los mismos. Pero si uso un DataSet como fuente de datos, funciona. ¿Es posible filtrar una lista de objetos con la propiedad BindingSource.Filter?DataGridView Filtrar un BindingSource con una lista de objetos como DataSource
tengo la clase siguiente:
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; }
}
Así es como yo lo uso:
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'";
Este es sólo un ejemplo, la idea es probar si una puede filtrar una fuente de datos de esa . Utilizaré el conocimiento dentro de un nuevo proyecto.
pd: La idea es poder usar BindingSource.Filter si es posible.
Gracias !!! Con su información encontré una implementación de IBindingListView y funciona. Aquí está el enlace: http://blogs.msdn.com/b/winformsue/archive/2008/05/19/implementing-filtering-on-the-ibindinglistview.aspx –
Me encontré con este par de años y esta solución funcionó bien para mí Hoy estaba usando el mismo código solo con una pequeña diferencia: necesito dos datagridviews para mostrar la misma FilteredBindingList con diferentes opciones de filtrado/clasificación. alguna idea sobre cómo lograr esto? – Afshin