Je recherche un exemple ou un échantillon pour filtrer les éléments de colonne WPF DataGrid dans une zone de texte.Filtre WPF DataGrid
Quelque chose de semblable à this (l'exemple utilise un WPFToolkit ... apparemment abandonné par Microsoft ...)
EDIT
Code de mise à jour
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; }
}
pourriez-vous commenter mon code modifier? Comment fonctionne le filtrage OnTextboxTextChange? – serhio
@vlad On dirait que vous avez parlé trop tôt de ne pas être abandonné. – MgSam
Abandonné est probablement le mauvais terme - la boîte à outils a été intégrée dans .NET 4.0+.'Relocated' pourrait être un meilleur mot ... – Doug