【发布时间】:2015-10-24 19:05:30
【问题描述】:
我有一个在面板内打开的表单。它里面有一个Datagridview。我想要做的是当我选择一行并单击编辑时,我会在编辑表单中获取当前选定行的文本。我以前在使用 Showdialog 时已经完成了这项工作。这次我不希望它以 showdialog 形式显示。
我正在使用的代码使用 Datagrid 关闭表单,并且实际上可以很好地显示第一行。但是当我选择不同的行时,它仍然会在编辑表单中显示第一行。
代码如下:
Try
If (CIM.Panel2.Controls.Count > 0) Then
CIM.Panel2.Controls.RemoveAt(0)
End If
Dim F1 As New CIMCLIENTEDIT()
F1.TopLevel = False
F1.Dock = DockStyle.Fill
CIM.Panel2.Controls.Add(F1)
F1.Show()
F1.txtstdid.Text = dgvData.CurrentRow.Cells(1).Value.ToString
F1.txtName.Text = dgvData.CurrentRow.Cells(2).Value.ToString
F1.txtEmail.Text = dgvData.CurrentRow.Cells(3).Value.ToString
F1.txtNo.Text = dgvData.CurrentRow.Cells(4).Value.ToString
F1.txtAddress.Text = dgvData.CurrentRow.Cells(5).Value.ToString
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
End Try
代码是与 showdialog 一起使用的代码的精确副本。显然,上面的代码在打开编辑表单之前关闭了面板中的第一个表单,但是,它似乎确实可以很好地获取 Datagrid 的第一行。
这行得通:
Try
CIMCLIENTEDIT.Text = "Edit Details"
CIMCLIENTEDIT.txtstdid.Text = dgvData.CurrentRow.Cells(0).Value.ToString
CIMCLIENTEDIT.txtName.Text = dgvData.CurrentRow.Cells(1).Value.ToString
CIMCLIENTEDIT.txtEmail.Text = dgvData.CurrentRow.Cells(2).Value.ToString
CIMCLIENTEDIT.txtNo.Text = dgvData.CurrentRow.Cells(3).Value.ToString
CIMCLIENTEDIT.txtAddress.Text = dgvData.CurrentRow.Cells(4).Value.ToString
CIMCLIENTEDIT.ShowDialog()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
End Try
非常感谢,
马特
【问题讨论】:
标签: sql-server vb.net datagridview