0

我正在使用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.Update, grid.Refreshgrid.Invalidate但没有结果。

你有什么主意吗 ?

4

1 回答 1

0

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

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

 dataSource.FillTheValues();
 ultraGrid1.DataSource = dataSource.Table; 
于 2013-06-11T08:07:05.373 回答