我尝试将值传递给自定义集合的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)?


是否有转换器或需要什么?

最佳答案

当基础Grid的数据源不是DataTable或DataView时,将无法获得DataRow对象。当数据源的类型为XPCollection时,应使用GetRow()方法而不是GetDataRow()方法来获取与网格行相对应的对象:

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

09-16 11:53