PDA

View Full Version : [.Net 4.0 / EF]ricerche su BindingList<T>


RaouL_BennetH
22-03-2011, 12:27
Ciao a tutti :)

piccola premessa:

ho implementato una funzione di Sort() su una BindingList<T> (DerivedBindingList<T>)

public class DerivedBindingList<T> : BindingList<T>
//bla


Non riesco a capire come effettuare delle ricerche su collezioni BindingList<T> mediante dei filtri conservando la funzione di sorting. Prendendo ad esempio una classe Persona, composta da nome, cognome e data di nascita, vorrei filtrare la lista cercando tutte quelle persone che hanno il cognome che contiene "BE", per es.:


var people = new BindingList<Person>(myContext.Person);
//ok, tutto funziona ed anche la funzione di sorting

var filteredPeople = new DerivedBindingList<Person>(myContext.Person).Where(p => p.cognome.Contains("BE"));

//ok, mi trova tutte le persone che nel cognome hanno "BE" ma.....
qui perdo la funzione di sorting...



Cosa mi sfugge ?

Grazie a tutti :)

RaouL.

RaouL_BennetH
22-03-2011, 13:26
non dico che mi piace ma al momento ho risolto cosė:


var filteredPeople = people.Where(p => p.cognome.Contains(someFilter));

var results = new DerivedBindingList<Person>();
foreach(var result in filteredPeople)
{
results.Add(result);
}

whatEverBindingSource.DataSource = results;


E cosė la mia funzione di Sort(), almeno per il momento, č salva.