我尝试将值传递给自定义集合的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)?
是否有转换器或需要什么?
最佳答案
当基础Grid的数据源不是DataTable或DataView时,将无法获得DataRow对象。当数据源的类型为XPCollection时,应使用GetRow()方法而不是GetDataRow()方法来获取与网格行相对应的对象:
var xpCollection = new XPCollection<Person>();
gridControl1.DataSource = xpCollection;
//...
Person person = (Person)gridView1.GetRow(rowHandle);