我使用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.Refresh
, grid.Invalidate
,但没有结果。
你知道吗?
在上面的代码中,您声明并初始化一个UltraGrid的新实例,然后用数据源填充这个新实例。此网格实例与您使用设计器创建并放在表单表面上的网格不同。它只是一个充满数据但从不显示的对象。
您可以使用表单设计器设计的网格的变量引用来解决此问题(如果您没有更改设计器中的name属性,则应将其命名为ultraGrid1
)
dataSource.FillTheValues();
ultraGrid1.DataSource = dataSource.Table;