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