【发布时间】:2017-09-13 17:40:09
【问题描述】:
我有一个网格视图。它的数据源是通过在列表中添加一些 xmlElemens 来从 XML 中获取的,然后将该列表设置为其数据源。现在我正在实现一个搜索功能。
所以我以这种方式过滤列表:
protected void btnSearch_Click(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
doc.Load(prog); //Percorso file xml
List<string> nomi = new List<string>();
XmlElement root = doc.DocumentElement;
XmlNodeList elemLists = root.GetElementsByTagName("nome");
// this binds the gridview to the title text to display
for (int i = 0; i < elemLists.Count; i++)
{
if(elemLists[i].InnerXml.ToString().ToLower().StartsWith(txtSearchMaster.Text.ToLower()) ||
elemLists[i].InnerXml.ToString().ToLower() == txtSearchMaster.Text.ToLower() ||
elemLists[i].InnerXml.ToString().ToLower().EndsWith(txtSearchMaster.Text.ToLower()) ||
elemLists[i].InnerXml.ToString().ToLower().Contains(txtSearchMaster.Text.ToLower()))
nomi.Add(elemLists[i].InnerXml.ToString());
}
GridView1.DataSource = nomi.OrderBy(q => q).ToList();
GridView1.DataBind();
}
数据显示正确,但问题是当我单击自动生成的列旁边的按钮并获取单元格内容(即列表的一个元素)时,它会返回相同索引处的单元格内容但是之前的数据。
我该如何克服这个问题?
【问题讨论】:
标签: c# asp.net xml gridview filtering