2012-10-06 27 views
3

我尝试从自定义集合传递价值的DataRow类型变量像波纹管代码:转换定制收集到的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)? 

获得的价值是否有任何需要转换的东西?

+0

见我回答这个职位http://stackoverflow.com/questions/12762617/how-to-get-selected-row-values-of-devexpress-xtragrid –

回答

1

你不能得到DataRow对象当底层网格的数据源不为DataTa ble或DataView。当数据源的类型是XPCollection你应该使用GetRow()方法,而不是GetDataRow()方法来获得对应于网格行对象:

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

“当底层网格的数据源不是DataTable或DataView时,您无法获得DataRow对象。”...我没有相信这是正确的。 –