Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用文本框从datatable中搜索数据并将其显示在C#中的datagridview中?_C#_Search_Datagridview_Datatable - Fatal编程技术网

如何使用文本框从datatable中搜索数据并将其显示在C#中的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中搜索数据,并将其显示在datagridview中(datatable是datagridview的数据源)。 我尝试使用以下代码:

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的任何数据源!