C# 如何重新加载数据网格视图,就像使用重置按钮搜索后第一次加载表单一样



我有几个TextBox,我使用此代码进行文本更改事件来搜索:

DataView dvTelbook = dtTelbook.DefaultView;
dvTelbook.RowFilter = "[name] LIKE '%" + textBox.Text + "%'";

该代码运行良好,当我使用该TextBoxDataGridView(按名称过滤(中搜索时,到目前为止它仍然有效。

我的问题是

当我单击重置按钮时,DataGridView无法重新加载。
我想在搜索后重新加载DataGridView,就像第一次加载Form时一样。

但是datagridview.refresh();不起作用,datagridview.datasource = "null"清除了我的DataGridView.当我使用 datagridview.datasource = mydata();再次加载DataGridView,但所有数据都是重复的。

有什么建议吗?

我找到了解决方案.

查看我的重置表单代码:

      private void button3_Click(object sender, EventArgs e)
    {
        textBox1.Clear();
        textBox4.Clear();
        textBox5.Clear();
        textBox6.Clear();
             // this line work and clear my datagrid view
           dataGridView1.Columns.Clear(); 
              //this line cant work and my datagridview is blank                
            dataGridView1.DataSource = mydata();
    }

该代码是错误的.我使用此代码作为解决方案:

我用这个 私有数据表 myname = new DataTable((;之后:我在按钮3单击中使用myname.Reset();

请参阅按钮3单击代码:

  textBox1.Clear();
        textBox4.Clear();
        textBox5.Clear();
        textBox6.Clear();
          myname.Reset();
            dataGridView1.DataSource = mydata(); 
            DataView test = myname.DefaultView;
            test.RowFilter = string.Empty;

并完成.我的结果刷新良好,不重复.

祝你好运

要停止重复,请执行以下操作:

datagridview.datasource = "null"

其次:

datagridview.datasource = mydata();

最新更新