c #datagridview在第二次传递时不显示数据

时间:2014-05-19 14:14:37

标签: c# datagridview datatable

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

一切正常(即第一轮)。然后,用户可以选择使用相同或新的数据重新开始,以包含其他测试。

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

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

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

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

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

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

非常感谢任何有关如何解决此问题的想法。

感谢。

1 个答案:

答案 0 :(得分:0)

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

DataTable newDataTable = dataTable;

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

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

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