2012-05-15 113 views
0

我有一個datagridview中的數據,我已經設置它,所以你一次只能選擇一行和一個。從選定的行中選擇單元格數據 - DataGridView

但是,我需要從選定行中的一個單元格獲取數據,我試過這個;

Dim data As String = DataGridView1.SelectedRows.Cells(5).toString 

類似的東西,但我不明白它的價值,有沒有人知道如何做到這一點?

回答

7

也許正確的語法是:

Dim data As String = DataGridView1.SelectedRows(0).Cells(5).Value.ToString 

MSDN docs

2

SelectedRows需要一個索引參數。如果你將它設置爲只能選擇一個行,那麼它將始終爲0嘗試改變該行:

Dim data As String = DataGridView1.SelectedRows(0).Cells(5).Value.toString() 
+0

其奇數,它給我的數據作爲字符串「DataGridView1.SelectedRows(0).Cells(5).toString」作爲數據。另外,當我選擇高於單元格5時,我得到的參數超出範圍的錯誤 – HarryBeasant

+0

5涉及到列的數量。如果你得到的參數超出範圍例外,這意味着你正試圖訪問一個不存在的列。請記住索引從0開始,所以第五列的索引是4. –

+0

嗯很奇怪,我選擇第4行,這是下載和字符串出來:DataGridViewTextBoxCell7BColumnIndex = 4,RowIndex = 7D – HarryBeasant

2
Dim data As String = YourDataGrid.Item("YourColumnHere", YourDataGrid.CurrentRow.Index).Value 

希望對您有所幫助!

0

「希望這個代碼也是另一種方式............ DataGridView1.SelectedRows(DataGridView1.CurrentRow.Index).Cells(5).Value.ToString()

0

如果在與datagridview相關的事件中使用此調用,則應使用傳遞給名爲「e」的事件的值作爲事件參數的結構,而不是使用序號來標識您選擇的行。 如果e.RowIndex是適用於該eventarg結構,可以把它作爲該行的選擇的值:

昏暗strCellValue爲字符串= DataGridView1.Rows(e.RowIndex).Cells(6)。價值

您也可以從該參數獲取e.ColumnIndex。

相關問題