Sto provando a filtrare un BindingSource con un BindingList come origine dati. Ho provato BindingSource.Filter = 'Condizione di testo' Ma non ha funzionato, non succede niente, i dati sullo schermo rimangono gli stessi. Ma se uso un DataSet come origine dati funziona. È possibile filtrare un elenco di oggetti con la proprietà BindingSource.Filter?DataGridView Filtra un BindingSource con un elenco di oggetti come origine dati
Ho la seguente classe:
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; }
}
questo è come 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'";
Questo è solo un esempio l'idea è quella di verificare se un possibile filtrare una fonte di dati del genere . Userò la conoscenza all'interno di un nuovo progetto.
pd: L'idea è di poter utilizzare BindingSource.Filter se è possibile.
Grazie !!! Con le tue informazioni ho trovato un'implementazione di IBindingListView e funziona. Ecco il link: http://blogs.msdn.com/b/winformsue/archive/2008/05/19/implementing-filtering-on-the-ibindinglistview.aspx –
Mi sono imbattuto in questo paio di anni fa e questa soluzione ha funzionato bene per me. Oggi stavo usando lo stesso codice solo con un po 'di differenza: ho bisogno di due visioni di dati con lo stesso FilteredBindingList con diverse opzioni di filtro/ordinamento. qualche idea su come raggiungere questo obiettivo? – Afshin