2012-07-08 53 views
0

我有一個程序有兩種形式,兩種形式都有自己的網格。 Grid1在form1上,Grid2在form2上。我希望Grid2充當用於編輯的彈出窗口。當用戶在Grid1上雙擊一行時,它應該在該行上重新查詢並在Grid2上顯示該單行。我無法弄清楚如何獲取所選行的列名,然後對其進行獨特的識別。我至今: (這是在Form1的方式)獲取SQL中選定行的列名?

Public Sub dgvForm1_CellDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvForm1.CellDoubleClick 

Dim i As Integer = 0 
Dim rowIndex As Integer 
Dim cellName as string 



While dgvForm1.SelectedRows.Item(0).Cells(i).ColumnIndex < dgvForm1.ColumnCount 

     rowIndex = dgvForm1.SelectedRows.Item(0).HeaderCell.RowIndex 
     cellName = dgvForm1.SelectedRows.Item(0).HeaderCell.toString 
     Select Case cellName 
      Case "control_no" 
       Dim sControlNum = cellName.ToString 
      Case "store_id" 
       Dim sStoreNum = cellName.ToString 
     End Select 

     i = i + 1 
End While 
end sub 

我只是簡單地希望用戶雙擊被顯示在許多其他記錄一個DataGridView一行,並觸發雙擊事件。然後這將遍歷selectedrow的列名直到找到control_id和store_id並獲取它們的值。附:我試了一個小時左右的谷歌,但我很難得到任何技術工作。

更新: 我應該添加,這是一個綁定的數據網格,它使用sqlClient及其dataadapter/dataset方法。

+0

如果有人知道有類似的帖子,通過一切手段讓這個帖子關閉,並指向我現有的一個!我看,但找不到一個我知道如何實現他們的解決方案,我的代碼。 – Garrettchap1 2012-07-08 20:19:23

+0

你應該使用的是帶有「datatable」的東西。你看,DataSet是Dotnet1中的一個類,它包含許多方法和屬性。如果你決定從它繼承來進一步優化它,你會得到更多的東西,比如事件IIRC。但請小心 - 您正在使用TableAdapter,這是一種很少使用的舊技術。 (爲了讓事情更難掌握,DataSet也被恕我直言,因爲人們誤解了DataSet,Typed DataSet和TableAdapter之間的區別。恕我直言:TableAdapers:bad,DataSet:無類型,因此不好,Typed DataSet:好。) – LosManos 2012-07-08 21:04:06

回答