一个DataGrid我有一个充满对象DataGridView
,现在我要为这个DataGrid
搜索/过滤功能。我试图使用一个文本框,您可以输入一个文本字符串,并在我的脑海中想要匹配这个字符串对所有的对象字段(例如,如果对象是电子邮件,我想匹配字符串与主题字段) DataGrid。如何筛选与对象C#
如果是到DataGrid.DataSource
声明如下任何帮助(不用担心的方法,问题是过滤器/搜索功能):
var newMess = LM.GetNewMessages();
if (newMess.Count > 0)
{
for (int i = 0; i < newMess.Count; i++)
{
LM.InboxTemp.Insert(0, newMess[i]);
}
}
BindingSource source = new BindingSource();
source.DataSource = LM.InboxTemp; //List with Objects
dgNewMess.DataSource = source;
dgNewMess.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
dgNewMess.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
dgNewMess.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
dgNewMess.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
我都已经充满了对象(电子邮件)的列表,这个列表连接到DataGrid。我不想插入新的对象到列表中,我只是希望能够显示过滤的对象,取决于哪些搜索条件(从文本框)。我是否需要为过滤对象使用不同的数据源?或者我可以使用相同的吗? – MrProgram
@ user1789325您在示例代码中所做的操作是将电子邮件插入列表中,而不进行过滤。是否要过滤已分配给GridView的数据?顺便说一句,它是WinForms还是什么? –
是的,它是WinForms。没错,DataGrid中已经充满了电子邮件从列表 – MrProgram