我尝试将值传递给自定义集合中的DataRow类型变量,如下面的代码:
GridHitInfo downHitInfo = null;
DataRow row = gridView3.GetDataRow(downHitInfo.RowHandle);
但据我所知,如果视图的数据源是自定义对象集合,GetDataRow
方法将返回null
(在Visual Basic中为Nothing)。如果视图的数据由System.Data.DataTable
或System.Data.DataView object
提供,则会返回代表特定行的System.Data.DataRow object
。“
XPCollection是“自定义对象集合”。
我有什么方法可以从
中获取价值gridView3.GetDataRow(downHitInfo.RowHandle)?
是否需要转换器或其他东西?
答案 0 :(得分:1)
当底层Grid的数据源不是DataTable或DataView时,您无法获取DataRow对象。当数据源的类型是XPCollection时,您应该使用GetRow()方法而不是GetDataRow()方法来获取与网格行对应的对象:
var xpCollection = new XPCollection<Person>();
gridControl1.DataSource = xpCollection;
//...
Person person = (Person)gridView1.GetRow(rowHandle);