Ricerca un esempio o un esempio per filtrare gli elementi della colonna DataGrid di WPF come una casella di testo.WPF DataGrid filter
Qualcosa di simile a this (l'esempio dato utilizza un WPFToolkit ... a quanto pare abbandonato da Microsoft ...)
EDIT
Codice Aggiornamento
XAML
<Canvas>
<DataGrid Height="200" Name="dataGrid1" Width="200" Canvas.Top="23" />
<TextBox Name="textBox1" Width="120" />
</Canvas>
cs:
public partial class MainWindow : Window
{
private List<Personne> persons;
ICollectionView cvPersonnes;
public MainWindow()
{
InitializeComponent();
persons = new List<Personne>();
persons.Add(new Personne() { Id = 1, Nom = "Jean-Michel", Prenom = "BADANHAR" });
persons.Add(new Personne() { Id = 1, Nom = "Gerard", Prenom = "DEPARDIEU" });
persons.Add(new Personne() { Id = 1, Nom = "Garfild", Prenom = "THECAT" });
persons.Add(new Personne() { Id = 1, Nom = "Jean-Paul", Prenom = "BELMONDO" });
cvPersonnes = CollectionViewSource.GetDefaultView(persons);
if (cvPersonnes != null)
{
dataGrid1.AutoGenerateColumns = true;
dataGrid1.ItemsSource = cvPersonnes;
cvPersonnes.Filter = TextFilter;
}
}
public bool TextFilter(object o)
{
Personne p = (o as Personne);
if (p == null)
return false;
if (p.Nom.Contains(textBox1.Text))
return true;
else
return false;
}
}
public class Personne
{
public int Id { get; set; }
public string Nom { get; set; }
public string Prenom { get; set; }
}
potresti commentare il mio codice di modifica? Come funziona il filtro OnTextboxTextChange? – serhio
@vlad Sembra che tu abbia parlato troppo presto per non essere abbandonato. – MgSam
Abbandonato è probabilmente il termine sbagliato: il toolkit è stato integrato in .NET 4.0+.'Trasferito' potrebbe essere una parola migliore ... – Doug