【问题标题】:Clear all the values and load it again in DataGridView (refresh)清除所有值并在 DataGridView 中再次加载(刷新)
【发布时间】:2012-10-08 09:57:16
【问题描述】:

我是 .net 初学者。我想刷新 datagridview 中的所有值。

 DataSet ds = new DataSet();
 ds.ReadXml(@"..\..\stock.xml"); /* XML file */
 dgvMain.DataSource = ds.Tables[0];

我正在尝试下面的代码来刷新(不工作

onButtonClick

dgvMain.DataSource = null;
dgvMain.DataSource = ds.Tables[0];

我想我在上面的代码中遗漏了一些东西。

我什至尝试过dgvMain.Refresh();(我对此一无所知。在智能感知中看到了)

我尝试的其他代码是:(不工作

dgvMain.Rows.Clear(); /*ERROR: Cannot clear this list.*/

dgvMain.EndEdit();no change

this.BindingContext[this.dgvMain.DataSource].EndCurrentEdit(); this.dgvMain.Refresh(); this.dgvMain.Parent.Refresh();no change

请帮忙
提前致谢。

【问题讨论】:

  • 点击按钮时发生了什么。您是否更改了 DataSet 中的某些值?
  • 不,我没有更改数据集值。我正在通过一些后端应用程序更改 xml 文件
  • 嗯,你需要在DataSet中刷新DataTable中的数据
  • 我也没有使用数据表。如我在代码中所示。
  • ds.Tables[0] 来自您的代码。你需要刷新这个DataTable

标签: c# c#-4.0 datagridview


【解决方案1】:

正如您在其中一个 cmets 中注意到的,您使用一些后端应用程序更改了 xml 文件。所以,每次点击按钮,都需要重新加载xml文件:

**onButtonClick**

ds.Clear();
ds.ReadXml(@"..\..\stock.xml");

【讨论】:

    【解决方案2】:

    我认为你必须调用 dgvMain.DataBind();为了以您描述的新方式绑定数据。如果这不起作用,那么我会将数据绑定到一个空集,然后调用 DataBind();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 1970-01-01
      • 2015-08-10
      • 2020-03-09
      • 2018-10-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多