2013-03-14 35 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() 
相關問題