【问题标题】:How do I refresh Winforms DataGridView?如何刷新 Winforms DataGridView?
【发布时间】:2009-01-21 17:16:37
【问题描述】:

我在一个选项卡中有两个DataGridViews,第二个网格的DataSource 基于第一个网格中的行选择。问题是在先前的选项卡中插入或更新某些值后,我无法刷新网格。如果我单击该行,它工作正常,但如果我以编程方式选择该行(即第一行),它就不起作用。我尝试了以下方法,但刷新失败。

daProgram.ClearBeforeFill = true
daProgram.fill(dsProgram)
bsProgram.ResetBindings(true) -- binding source also tried false
dgvProgram.DataSource=bsProgram -- rebinding the control

我也试过了:

dgvProgram.DataSource=nothing 

dgvProgram.DataBindings.clear() 

没有任何效果 :-(

如果有人能帮我解决这个问题,我将不胜感激。

【问题讨论】:

  • 你试过 dgvProgram.Refresh() 吗?
  • bsProgram.ResetCurrentItem(),它适用于textbox,datetimepicker等,不知道它是否也适用于datagridview

标签: winforms datagridview refresh


【解决方案1】:
【解决方案2】:

我已经阅读了一些关于此的内容,也发现 ResetBindings 不起作用。

如果您使用的是表格适配器,只需调用填充方法(自动添加到表单加载事件中的方法)。

我读过一些文章说你不应该调用 Fill。我看不出为什么不这样做。它只是重新查询数据,这正是刷新应该做的。

Me.YourTableAdapter.Fill(Me.YourDataSet.YourDataTable)

【讨论】:

    【解决方案3】:

    试试这个

    dgvProgram.DataSource=null;
    

    【讨论】:

      猜你喜欢
      • 2010-10-15
      • 2011-01-02
      • 1970-01-01
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      相关资源
      最近更新 更多