将自定义集合转换为DataRow

时间:2012-10-06 14:40:08

标签: c# devexpress datarow xtragrid

我尝试将值传递给自定义集合中的DataRow类型变量,如下面的代码:

GridHitInfo downHitInfo = null;
DataRow row = gridView3.GetDataRow(downHitInfo.RowHandle);

但据我所知,如果视图的数据源是自定义对象集合,GetDataRow方法将返回null(在Visual Basic中为Nothing)。如果视图的数据由System.Data.DataTableSystem.Data.DataView object提供,则会返回代表特定行的System.Data.DataRow object。“

XPCollection是“自定义对象集合”。

我有什么方法可以从

中获取价值
gridView3.GetDataRow(downHitInfo.RowHandle)?

是否需要转换器或其他东西?

1 个答案:

答案 0 :(得分:1)

当底层Grid的数据源不是DataTable或DataView时,您无法获取DataRow对象。当数据源的类型是XPCollection时,您应该使用GetRow()方法而不是GetDataRow()方法来获取与网格行对应的对象:

var xpCollection = new XPCollection<Person>();
gridControl1.DataSource = xpCollection;
//...
Person person = (Person)gridView1.GetRow(rowHandle);