2013-03-14 62 views
0

所以我有一个简单的问题,但经过如此多的Google搜索后,我似乎找不到一个好例子。在MSDN中的Datagrid中获取特定的值visual basic

我想从数据网格中获取一个非常特定的单元格。我知道datagrid正在工作,因为它运行良好,我可以在程序中看到我想从中看到的所有值。我想要做的是从数据网格的特定单元格中获取值。我希望这会是这样简单的事情。

dataGrid1.DataSource = someDataSet

dataGrid.DataBind()

Label1.Text = dataGrid1.CellValue(rowValue,columnValue)的ToString()“这是无效的

我继续看e.userclickshere或其他东西,这将在稍后有用,但现在我只想从dg获取特定的单元格。

回答

1

FWIW:一种方法是直接从someDataSet获取它。这样你就不会混淆数据和UI。

关于如何从数据集中获取数据 - 使用intellisense播放。
这多少有点像

Dim myValue as Object = myDataset.Tables(myTableIndexOftenZero).Rows(myRowIndex)(myFieldIndex) 

但是,除非你要不要使用非类型化数据集。键入数据集为您提供免费的名称和类型。 这多少有点像

Dim myValue as Integer = myDataset.MyTable(myRowIndex).MyProperty 

BTW:IIRC你可以用工作台进给您的网格状

myTable.DataSource = myDataSet.Tables(0) 

BTW2:如果从数据集继承和实现自己的东西,你可以得到一些很好的保护事件和属性对数据集/数据表中的变化做出反应。但我今天会改为如下BTW3。

BTW3:今天你可能想要摆脱数据集,而是使用类的列表。此前曾有各地今天这一点,但一些摩擦......

+0

是啊,我想到的是事后了。 我的数据集设置简单 Dim someDataSet As DataSet = GetTablefromSqlServer() 我怎么能从someDataSet得到它? Label1.Text = someDataSet.cell(rowValue,columnvalue) ? – lockgar 2013-03-14 21:10:20

1

喜欢的东西

Dim dt as datatable = someDataSet.Tables(0) 'Or whatever table is 

Label1.text = dt(rowValue)(columnValue).toString()