C#WPF DataTable绑定到GridView(更确切地说是Telerik的RadGridView)

时间:2013-02-25 05:08:19

标签: c# wpf gridview datatable telerik

我有点问题。我有一个定期更改的MySQL表模式(即列及其类型)。由于此要求,我将ORM编程为以DataTable的形式存储,而不是固定的可序列化类型。

我现在有兴趣在一个窗口中显示这个表。确切地说,它将绑定到GridView对象(Telerik库中的RadGridView类型。我使用以下代码绑定表:

DataTable dt = GetMyTable();
radGridView.ItemsSource = dt.DefaultView;

这很好用。但是,如果我使用以下代码更新此表,则该过程非常缓慢:

dt.BeginLoadData();
for (object[] new_row in new_rows) {
    dt.Rows.Add(new_row);
}
dt.EndLoadData();
dt.AcceptChanges();

我理解DataTable会在更新时转储大量事件,但是应该通过BeginLoadData()调用关闭它们 - 至少在理论上是这样。

我还尝试使用名为BindingSource的适配器,其中记录了page

中记录的步骤

这确实加快了速度,但仍然效率不高。

我的目标是使用我的DataTable批量加载,每当从一个线程添加一批新行时,GridView也会更新以显示新行。显然,我希望尽可能高效地完成这项工作。

任何输入?

感谢。

0 个答案:

没有答案