将Infragistics UltraGridRow转换为DataRow。

3
有没有简单的方法将infragistics的 UltraGridRow 转换为标准的 DataRow 对象?
3个回答

7
如果您将UltraGrid的DataSource设置为DataTable,则可以使用以下方法提取当前ActiveRow的基础DataRow:
 if(grid.ActiveRow != null && grid.ActiveRow.IsDataRow)
 {
      DataRow row = (grid.ActiveRow.ListObject as DataRowView).Row;
 }

当然,您可以将此示例中的ActiveRow替换为IsDataRow属性为true的每个UltraGridRow(请注意SummaryRows和OutlookGroupByRow)。
请注意,如果绑定到DataSource的是List,则ListObject能够返回CustomClass的单个实例。

2

如果我没记错的话,你可以通过以下方式访问底层的DataRow

var myDataRow = ((DataRowView)myUltraGridRow.ListObject).Row;

假设您的 grid.DataSource 对象是 DataTable 或者 DataSet。


1
与已接受的解决方案相比,如果您正在处理事件,则这尤其有用。 - Anytoe
对于VB爱好者,请使用:Dim myDataRow = CType(myUltraGridRow.ListObject, DataRowView).Row - Jonathan

0
使用UltraGridRow的ListObject属性来获取底层数据项。

抱歉,我不小心点了踩的按钮,无法撤销! - IngoB

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