本文介绍了搜索数据网格问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我为绑定到List的dataGrid编写了以下方法过滤器
I wrote following method filter for dataGrid which binded to List<>
public void FilterFromSubject(string mailSubject)
{
List<unreademails> list = (List<unreademails>)dgvUnreadMails.DataSource;
//List<string> myUnreadMailList;
try
{
List<unreademails> filteredList = (List<unreademails>)(from ci in list
where ci.Subject.ToLower().Contains(mailSubject)
select ci).ToList<unreademails>();
dgvUnreadMails.DataSource = filteredList;
btnCancel.Enabled = true;
}
catch (System.Exception)
{
MessageBox.Show("Import E-mails first", "Empty Table", MessageBoxButtons.OK, MessageBoxIcon.Information);
btnSave.Enabled = false;
}
}</unreademails></unreademails></unreademails></string></unreademails></unreademails>
现在,我将数据网格与Dynamic DataTable绑定,如下所示
Now I am having data grid binded with Dynamic DataTable as follows
private object GetDynamicDataTable(List<unreademails> emailList, List<string> words)
{
DataTable dtList = new DataTable();
dtList.Columns.Add("Sender Name");
dtList.Columns.Add("Sender Address");
dtList.Columns.Add("Date Time");
dtList.Columns.Add("Subject");
dtList.Columns.Add("Body Content");
dtList.Columns.Add("Attachments");
dtList.Columns.Add("EntryID");
foreach (string dynamic in words)
{
dtList.Columns.Add(dynamic);
cmbWords.Items.Add(dynamic);
}
foreach (UnreadEmails mail in emailList)
{
DataRow dr = dtList.NewRow();
dr["Sender Name"] = mail.SenderName;
dr["Sender Address"] = mail.SenderAddress;
dr["Date Time"] = mail.RecivedTime;
dr["Body Content"] = mail.BodyContent;
dr["Subject"] = mail.Subject;
dr["EntryID"] = mail.EntryID;
foreach (string item in words)
{
object count = GetWordCount(mail.BodyContent.ToString(), item);
dr[item] = count;
}
dtList.Rows.Add(dr);
}
return dtList;
}</string></unreademails>
请告诉我如何为绑定到DataTable的数据网格编写过滤方法.
Please tell me how can I write filtering method for data grid which is binded to DataTable.
推荐答案
dgvUnreadMails.DataSource = aBindingSource;
aBindingSource.Filter = "something";
稍后,在加载DataTable(dtList)之后,可以将其设置为与BindingSource的DataSource相等.
later on, after your DataTable (dtList) has been loaded, you can set it equal to the DataSource of the BindingSource.
aBindingSource.DataSource = dtList;
这篇关于搜索数据网格问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!