【问题标题】:c# datagridview not displaying data on second passc#datagridview第二遍不显示数据
【发布时间】:2014-05-19 14:14:37
【问题描述】:

背景:- 导入数据并执行一些统计分析的 Winforms 应用程序 - 将结果存储在各种数据表中 - 在 datagridview 和图表控件中显示结果。 用户可以通过组合框选择各种统计测试,这会使用适当的数据更新 datagridview 和图表。

第一次通过时一切正常(即:- 第一次)。然后,用户可以选择使用相同的或新的数据重新开始以包括其他测试。

当用户使用相同的数据执行此操作并添加其他测试时,datagridview 不会显示之前查看的任何测试的绑定数据表信息。

当用户选择一个新实例时,我正在使用数据表/datagridview 执行以下操作:-

            dataGridView1.DataSource = null;
            dataGridView1.Refresh();

            dataGridView1.Update();
            dataGridView1.DataSource = dataTable;

            dataTable.Clear();
            dataTable.Reset();

有趣的一点是,datagridview 仅对于已审查的测试是空白的。其他数据按预期显示。 如果导入了新数据集,则所有测试休止符都是可见的。 如果用户退出应用程序并重新启动它,所有测试结果都是可见的。 对于在之前运行中查看过的数据表,数据似乎在 datagridview 中不可见。

任何关于如何解决此问题的想法将不胜感激。

谢谢。

【问题讨论】:

    标签: c# datagridview datatable


    【解决方案1】:

    恕我直言,当您清除并重置 DataTable 时,DataSource 也会被清除。试试这个:

    DataTable newDataTable = dataTable;
    
    dataGridView1.DataSource = null;
    dataGridView1.Refresh();
    
    dataGridView1.Update();
    dataGridView1.DataSource = newDataTable;
    
    dataTable.Clear();
    dataTable.Reset();
    

    【讨论】:

    • 感谢您的建议 - 但是“DataTable newDataTable = dataTable;”线已经包含在项目中。问题不在数据表中,因为 Excel 报告功能一直都可以正常工作(图表工具也是如此)。我认为问题在于 datagridview1 没有显示已经查看过的数据表中的数据。
    【解决方案2】:

    我对 datagridview 有同样的问题。就我而言,datagridview 在面板上。并且datagridview在更新数据后没有更新。数据库更新成功。但更新后无法填满。我花了很多时间解决这个问题。一天结束时,我已将 datagridview 从面板中取出。问题就解决了!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-02-26
      • 1970-01-01
      • 1970-01-01
      • 2011-07-31
      • 2016-10-12
      相关资源
      最近更新 更多