将自定义集合转换为DataRow

3
我尝试从自定义集合中将值传递到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)?

需要使用转换器或其他工具吗?

请查看我对此帖子的回答:https://dev59.com/4Gcs5IYBdhLWcg3wiEmK - Saif Khan
1个回答

1

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

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

当基础网格的数据源不是DataTable或DataView时,您无法获取DataRow对象。...我不相信这是正确的。 - Saif Khan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接