【发布时间】:2013-06-07 13:26:40
【问题描述】:
我正在使用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,但没有结果。
你有什么想法吗?
【问题讨论】:
-
在 WinForms 中你不需要 DataBind 和 PerformLayout
-
顺便问一下,您是否将手动创建的网格实例添加到表单控件集合中?
-
@Lorenzo 没有足够的信息来确定可能是什么原因。 Steve 提出了一个很好的观点,以确保将网格添加到表单中,并且您应该验证它是您看到的实例。
-
通过将网格从工具箱窗口框架拖动到组件中,将网格添加到设计类型的表单控件中。我已经交叉检查,网格正确地出现在 Designer 自动生成的 C# 代码中。 @Steve:感谢有关 DataBind 和 PerformLayout 的信息,我已将它们从代码中删除。
标签: winforms grid infragistics