网格不显示其行

时间:2013-06-07 13:26:41

标签: winforms grid infragistics

我正在使用Infragistics.Win.UltraWinGrid.UltraGrid版本Infragistics4.Win.UltraWinGrid.v13.1 我在运行正确的代码时遇到了一些问题。

// creating the dataSource object which is a wrapper for a System.Data.DataTable
dataSource.FillTheValues();
Infragistics.Win.UltraWinGrid.UltraGrid grid = new Infragistics.Win.UltraWinGrid.UltraGrid();

grid.DataSource = dataSource.Table; //dataSource.Table is a System.Data.DataTable
grid.DataBind();
grid.PerformLayout();

此时发生了一些非常奇怪的事情(在调试模式下检查):

  • dataSource.Table.Rows.Count是1203
  • grid.Rows.Count是1203

但在我的表单中的实际网格中没有显示任何内容,并且网格显示为完全空白。

网格中的列完全匹配dataSource.Table中的列,因此绑定没问题。

此外,我尝试调用grid.Updategrid.Refreshgrid.Invalidate,但没有结果。

你有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在上面的代码中,您声明并初始化UltraGrid的新实例,然后使用数据源填充此新实例。此网格实例与您创建的网格不同,并与设计器一起放在表单表面上。它只是一个填充数据但从未显示过的对象。

您可以使用对使用表单设计器设计的网格的变量引用来解决此问题(如果您未在设计器中更改名称属性,则应将其命名为ultraGrid1

 dataSource.FillTheValues();
 ultraGrid1.DataSource = dataSource.Table;