如何使用文本框从datatable中搜索数据并将其显示在C#中的datagridview中?
我想使用文本框从datatable中搜索数据,并将其显示在datagridview中(datatable是datagridview的数据源)。 我尝试使用以下代码:如何使用文本框从datatable中搜索数据并将其显示在C#中的datagridview中?,c#,search,datagridview,datatable,C#,Search,Datagridview,Datatable,我想使用文本框从datatable中搜索数据,并将其显示在datagridview中(datatable是datagridview的数据源)。 我尝试使用以下代码: DataTable table = new DataTable(); private void button1_Click(object sender, EventArgs e) { XmlDocument xdoc = new XmlDocument(); xdoc.Load(@"C
DataTable table = new DataTable();
private void button1_Click(object sender, EventArgs e)
{
XmlDocument xdoc = new XmlDocument();
xdoc.Load(@"C:\ABC.xml");
table.Columns.AddRange(new DataColumn[3] { new DataColumn("Name"), new DataColumn("Id"), new DataColumn("MobileNo.") });
XmlNodeList path = xdoc.DocumentElement.SelectNodes("Data");
foreach (XmlNode node in path)
{
String name= node.Attributes["name"].Value;
String id= node.Attributes["id"].Value;
String number= node.Attributes["no."].Value;
table.Rows.Add(name, id, number);
BindingSource bindingSource = new BindingSource();
bindingSource.DataSource = table;
dataGridView1.DataSource = bindingSource;
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
DataView dv = new DataView();
dv.RowFilter = "Name like '%" + textBox1.Text + "%'";
dataGridView1.DataSource = dv;
}
这里,我从xml中获取数据,将其存储在datatable中,并将其用作datagridview的数据源
我想使用文本框为“Name”提供一个搜索选项。
上述代码未按预期工作,只有数据显示在网格中,但无法搜索文本框中输入的文本。
请帮助您解决任何其他问题 明白了
缺少dataview的数据源
校正功能:
private void textBox1_TextChanged(object sender, EventArgs e)
{
DataView dv = new DataView(table);
dv.RowFilter = "Name like '%" + textBox1.Text + "%'";
dataGridView1.DataSource = dv;
}
Namelike中缺少的空格不可能是问题所在?请将“dv.RowFilter=“Namelike”%”+textBox1.Text+“%”更改为“dv.RowFilter=“Name like”%”+textBox1.Text.Trim()+“%”;“很抱歉,这是个错误。”。。即使给空间也会导致same@kumarch1:不,它也不是那样工作的。当我点击搜索按钮时,它说id列已经存在。它是windows还是web应用程序?如果是windows应用程序,则不需要该行。还有一件事,数据视图的数据在哪里。我没有看到dataview的任何数据源!