我有多个运行时生成的 datagridview 控件,我希望能够查看用户是否在特定的 datagridview 中选择了多行。由于某种原因,以下的结果始终为零。当我 F9 停止程序时,我可以看到这个 datagridview 行的选定值是 false。任何想法如何解决这一问题?
我的代码如下:
strDGVName = "dgvCheckpoint" & intTimeModificationSender
For Each tbp As TabPage In frmTimingP2P.tabctrlTimingTable.Controls
For Each dgv In tbp.Controls
If dgv.Name = strDGVName Then
intSelectedRowCount = dgv.Rows.GetRowCount(DataGridViewElementStates.Selected)
End If
Next
Next
谢谢
我现在尝试了以下方法:
For Each tbp As TabPage In frmTimingP2P.tabctrlTimingTable.Controls
For Each ctrl As Control In tbp.Controls
Dim dgv As DataGridView = TryCast(ctrl, DataGridView)
If Not dgv Is Nothing Then
If dgv.Name = strDGVName Then
intSelectedRowCount = dgv.SelectedRows.Count
End If
End If
Next
Next
也:
Dim c As Collections.Generic.IEnumerable(Of DataGridView)
For p = 0 To frmTimingP2P.tabctrlTimingTable.TabCount - 1
c = frmTimingP2P.tabctrlTimingTable.TabPages(p).Controls.OfType(Of DataGridView)()
If c(0).Name = strDGVName Then p = frmTimingP2P.tabctrlTimingTable.TabCount
End If
Next
intSelectedRowCount = c(0).SelectedRows.Count
但它仍然返回零行数。