У меня есть приложение, в котором оно разделено на вкладки. До 4 вкладок могут иметь один и тот же DataGridView, но с разными данными.Динамическая ячейка Нажмите на DataGridView VB.NET
Я динамически создавать вкладки и DataGrid взгляды, и они названы «Entitlements1», «Entitlements2» и т.д.
Я добавил Cell Double Click Event Handler для DataGridView, и она работает для обоих DataGridViews на обоих вкладки, однако как я могу определить, какой DataGridView он запустил событие?
Мой код:
Public Shared Sub EntitlementsDGV(ByVal DriverNo As Integer)
Dim entdgv As New List(Of DataTable)
entdgv.Add(New DataTable)
entdgv.Add(New DataTable)
entdgv.Add(New DataTable)
entdgv.Add(New DataTable)
entdgv.Add(New DataTable)
'Find Driver Tab Control
Dim DriverTabCtrl = Functions.FindControl(Results, "DriverTab" & DriverNo)
'Find GroupBox Control
Dim GroupBoxCtrl = Functions.FindControl(DriverTabCtrl, "EntitlementGrpBx" & DriverNo)
'Find DataGridView
Dim DGVCtrl As DataGridView = Functions.FindControl(GroupBoxCtrl, "Entitlements" & DriverNo)
entdgv(DriverNo) = Results.EntitlementsTbl.Clone
Dim result() As DataRow = Results.EntitlementsTbl.Select("Driver = " & DriverNo & "")
For Each row As DataRow In result
entdgv(DriverNo).Rows.Add(row(0), row(1), row(2), row(3), row(4), row(5))
Next
DGVCtrl.DataSource = entdgv(DriverNo)
DGVCtrl.Columns(DGVCtrl.Columns.Count - 1).Visible = False
AddHandler DGVCtrl.CellDoubleClick, AddressOf EntitlementDblClick
End Sub
Public Shared Sub EntitlementDblClick(sender As Object, e As DataGridViewCellEventArgs)
MsgBox("Entitlement Box Double Click")
End Sub
Это код, как я динамически добавить DataGridView
Dim NewDGV As New DataGridView
NewDGV.Name = "Entitlements" & DriverNo
NewDGV.Location = New Point(1, 1)
DGVSetup(NewDGV)
NewGrpBx.Controls.Add(NewDGV)
Wow это просто! lol cheers @Markus – Lynchie
рад, что это помогло, если вы не возражаете принять ответ? – Markus
жаль, что я пробовал раньше, но потому, что вы были так быстры, он дал мне 5-минутное предупреждение. – Lynchie