【问题标题】:WinForm not refreshing after datagridview row changeDatagridview行更改后WinForm不刷新
【发布时间】:2015-08-05 01:56:12
【问题描述】:

我有一个 Winform,它有 2 个数据网格视图(父子关系),我在表单加载时填充了数据。然后我有一个文本框,我在其中输入了一个日期并使用它来过滤主网格的 databindingSource(它适当地过滤了子网格)。

在我开发表单时一切正常,直到它似乎不想刷新表单......表单的某些部分将只是白色,直到我实际在屏幕上移动表单使其重新绘制。现在表单已绘制完毕,我可以使用鼠标或导航源的下一个/后退箭头在网格中选择不同的行。除非我再次在屏幕上移动表单(抓住标题栏并移动它),否则网格不会再次刷新。

我在子表单的 RowPrePaint 方法中有代码,应该不会影响任何事情吧?这是唯一可以远程破坏表格绘制的方法。

我要开始逆转我的步骤,但我认为没有任何意义。

这些听起来很熟悉吗?

【问题讨论】:

  • 您没有发布任何代码,但您可以从注释掉部分代码开始,看看是什么导致了问题。
  • 表单没有 RowPrePaint 事件,但 datagridview 有,该事件中的任何代码都可能严重破坏表单的正常绘制。您为什么不发布该代码,以便我们查看问题是否存在

标签: winforms datagridview


【解决方案1】:

我认为问题在于我在 DataGridView_RowsAdded 和 DataGridView_RowPrePaint 中有冲突的代码。我还按照此处的建议从 DataGridView_RowPrePaint 切换到 DataGridView_RowStateChanged:RowsAdded Event in DataGridView only firing for first 2 rows

感谢您的建议

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-06
    • 2021-04-10
    • 2011-09-13
    • 1970-01-01
    • 2012-10-25
    • 1970-01-01
    • 2012-04-25
    • 2012-04-27
    相关资源
    最近更新 更多