gpt4 book ai didi

c# - DataGridView 过滤

转载 作者:行者123 更新时间:2023-11-30 21:23:52 25 4
gpt4 key购买 nike

我正在创建一个应该能够接受任何类型列表的控件。本质上是以下代码:

void BindData(IList list)
{
BindingSource bs = new BindindSource();
bs.DataSource = list;
this.DataGridView.DataSource = bs;
}

现在我有一个文本框,我想用它来过滤网格中的数据。我认为它就像设置 bs.Filter 属性一样简单,但显然不是。 bs.SupportsFiltering 也返回 false。

这是我使用 IList 的问题吗?如果是这样,我可以使用另一个集合类/接口(interface)来实现相同的效果吗? (同样,我不确定列表中对象的类型是什么。

最佳答案

由于不知道要传递的类型,我手动过滤了数据。这是我的代码片段。它运作良好。希望它不会因大量数据而变得太慢。::手指交叉::

List<object> filteredData = new List<object>();
foreach (object data in this.DataSource)
{
foreach (var column in this.Columns)
{
var value = data.GetType().GetProperty(column.Field).GetValue(data,null)
.ToString();
if (value.Contains(this.ddFind.Text))
{
filteredData.Add(data);
break;
}
}
}

this.ddGrid.DataSource = filteredData;

关于c# - DataGridView 过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1501079/

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