【发布时间】:2010-11-30 15:29:02
【问题描述】:
我正在尝试集中输入并在我添加到表单中的 DataGridView 的每个新行上触发编辑事件。
这是我试图让用户实现这一目标的代码。
Private Sub grd_GoldAdders_RowsAdded(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewRowsAddedEventArgs) Handles grd_GoldAdders.RowsAdded
Dim grid As DataGridView = DirectCast(sender, DataGridView)
grid.ClearSelection()
If grid.Rows(e.RowIndex).Cells("grid_flag").FormattedValue = Constants.[New] Then
For Each cell As DataGridViewCell In grid.Rows(e.RowIndex).Cells
If Not cell.Visible Then Continue For
grid.CurrentCell = cell
grid.BeginEdit(False)
Exit For
Next
End If
End Sub
“grid_flag”是一个隐藏单元格,用于存储一行的自定义状态。
在添加一行之前,这是我们在表单上看到的:
这是我们实际尝试添加新行时看到的内容:
请注意,第 0,0 列和新行的第一个可见列都被选中,但第 0,0 列具有焦点。我不希望 0,0 被选中或获得焦点。我在这里也看到行指示器也指向第 0 行...
这是我希望在单击“添加”按钮后看到的内容:
有人知道我的代码哪里出错了吗?我一天中的大部分时间都在搜索 SO,试图解决这个问题。
【问题讨论】:
标签: vb.net datagridview .net-2.0