gpt4 book ai didi

wpf - 在文本框上过滤 DataGrid

转载 作者:行者123 更新时间:2023-12-03 10:40:17 28 4
gpt4 key购买 nike

我搜索示例或示例以按文本框过滤 WPF DataGrid 列元素。

alt text

类似于 this 的东西(给定的示例使用 WPFToolkit ......显然被微软放弃了......)

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; }
}

最佳答案

我在各个网站上看到很多关于这件事的...

要过滤后者是使用数据表作为源的数据网格,这在以下代码中很常见:

DataTable dt = new DataTable("Table1");

//fill your datatable...

//after fill...
dataGrid1.DataContext = dt;
IBindingListView blv = dt.DefaultView;
blv.Filter = "NAME = 'MOISES'";

关于wpf - 在文本框上过滤 DataGrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4166403/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com