在C#中将DataRowView []绑定到DataGridView的最有效方法

时间:2018-03-02 14:56:07

标签: c# .net-3.5

我在DataTable上有一个DataView(带有排序列,没有RowFilter)。当我致电DataView.FindRows(SortCols[])时,它会返回DataRowView[]

将此数组绑定到DataGridView的最有效方法(在速度方面)是什么?

我的谷歌搜索只返回了几个相关的结果,他们似乎建议迭代数组并将数据添加到新的DataTable,然后绑定。

我希望我的DataRowView []包含至少几百个项目,所以我不想采用迭代方式,除非没有更好的可用。

任何建议将不胜感激。非常感谢提前。

1 个答案:

答案 0 :(得分:0)

经过一番试验和错误,我最终得到了这个解决方案。我会迭代数组,但可以避免对列进行二级迭代:

DataRowView[] drvFiltered = NFM.dtvFilterRothAppMsgs.FindRows(new string[] { sSenderCompId, sTargetCompId });

//-- Current solution
DataRow dr;
foreach (DataRowView drv in drvFiltered) {
    dr = dtbFilteredAppMsgs.NewRow();
    dr.ItemArray = drv.Row.ItemArray;
    dtbFilteredAppMsgs.Rows.Add(dr);
}
dtbFilteredAppMsgs.AcceptChanges();

目前有效。如果有人知道更直接的方法,请告诉我。非常感谢。