2009-09-16 172 views
0

如何从DataView.CurrentItem中查找某列的值。从DataView获取价值C#

+1

没有名为CURRENTITEM数据视图成员访问它的属性或字段。你的意思是DataView索引器?或者DataGrid.CurrentRow或DataGridView.CurrentRow? – 2009-09-16 22:03:59

+0

对不起,它不是DataView.CurrentItem它是CollectionViewSource.CurrentItem – 2009-09-16 22:14:02

+0

我现在想通了我正在使用dt.Rows [“ColumnName”]。“”ColumnName“]。ToString(),有没有更好的方法来做同样的 – 2009-09-16 22:15:18

回答

1

正如Paul在他的评论中指出的,DataView类中没有CurrentItem成员。

如果你知道该项目的索引,你可以通过它的名称访问栏,如下图所示:同样

string name = dataView[index]["Name"] as string; 

,如果你有一个DataRowView(一个一个DataRow的观点)的情况下,你可以这样做:

string name = dataRowView["Name"] as string; 

编辑:我只注意到你的问题的WPF标签......也许你是在谈论一个CollectionView,不DataView

CollectionView本身不具有“列”,但它可以用GridViewDataGrid(它们都有列)表示。这只是一个对象集合的视图。要访问当前对象的特定字段或属性,主要有两种选择:

  • 如果静态知道实际类型集合项目:施放CurrentItem该类型,并直接访问您需要的会员
  • ,如果你不知道类型,可以使用在CURRENTITEM反射的名字
+0

谢谢很多,我正在使用以下dt.Rows [CollectionViewSource.CurrentPosition] [“ColumnName”]。ToString()其中colloectionViewSource绑定到DataContext。 – 2009-09-17 00:03:52