有没有办法设置UltraGrid的数据源而不删除其摘要行?
我的Windows窗体应用程序中有一个ultragrid gvResult
。
用户可以选择列并在另一个表单中对它们进行排序,然后通过按“Apply”按钮将这些更改应用到gvResult。
此外,gvResult
必须显示行计数器摘要。
我在套用使用者的变更之前清除了gvResult,否则排序算法不会变更为使用者设定的值。
gvResult.DataSource = new DataTable();
gvResult.DataSource = dataTable_With_New_Set_And_Sort_of_Columns;
这是另一个问题!它删除了行计数器摘要沿着gvResult
的其他布局设置。但是,第一个问题仍然存在,列排序没有改变。
BindingSource bs = new BindingSource();
bs.DataSource = typeof(DataTable);
bs.DataSource = dataTable_With_New_Set_And_Sort_of_Columns;
gvResult.DataSource = bs;
你有什么建议吗?
请原谅我的英语不好。
**编辑:**我尝试了类似下面的操作,但再次失败:
DataTable dtTest = new DataTable();
dtTest.Rows.Clear();
dtTest = Method_That_Returns_DataTable_With_New_Set_And_Sort_of_Columns();
gvResult.DataSource = dtTest.Copy();
1条答案
按热度按时间bejyjqdl1#
莫加拉比,
如果我能理解你想怎么做,这可能对你有用。
每当您将数据绑定到UltraGrid时,每次都会触发
IntializeLayout
事件,因此您需要确保将Summary Row设置为在InitializeLayout
函数中可见。就像这样:
**注:**汇总行只对父级带区有效。无法为子级带区设置汇总行。
如果要重置数据网格,请将以下内容添加到代码中(但不要添加到InitializeLayout函数中)
这将保留对排序算法所做的任何更改。因此,在此示例中:如果用户对UltraGrid进行了任何更改,并沿着更改了排序算法。单击“重置”按钮将仅恢复数据,而不恢复排序算法。
希望这对你有帮助。