我正在使用VB.NET和SQL Server数据库。 我想在文本框中显示选定的行,以便我可以编辑它们并更新到数据库。 但是当我完成我的代码时,它出现了一个例外,告诉我没有找到列名。我仔细检查了列名并确认拼写正确。 问题是什么? 这是我的代码:
Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
If e.RowIndex >= 0 Then
Dim row As DataGridViewRow
row = Me.DataGridView1.Rows(e.RowIndex)
TextBox1.Text = row.Cells("StudentID").Value.ToString
TextBox2.Text = row.Cells("StudentName").Value.ToString
TextBox3.Text = row.Cells("HomeAddress").Value.ToString
TextBox4.Text = row.Cells("ContactNumber").Value.ToString
TextBox5.Text = row.Cells("SubjectCode").Value.ToString
TextBox6.Text = row.Cells("SubjectName").Value.ToString
TextBox7.Text = row.Cells("ParentName").Value.ToString
TextBox8.Text = row.Cells("ParentContact").Value.ToString
End If
End Sub
这是我的数据库:
另外,我想问一下如何使用按钮更新/刷新数据库? 我通过在线查看但没有任何效果,我想在添加/编辑/删除数据后刷新数据库。
非常感谢你。
答案 0 :(得分:1)
你这是错误的方式。我猜你正在从数据库中填充DataTable
。然后,您应该将DataTable
绑定到BindingSource
,然后您应该将其绑定到DataGridView
AND TextBox
控件。当您选择网格行 AND 时,TextBox
控件将自动填充TextBox
控件中的任何更改将自动推回DataTable
和网格。
要绑定TextBox
,请在设计器中选择它,然后打开“属性”窗口。然后,您可以展开(DataBindings)节点并选择其下的Text
属性。从那里,您可以选择BindingSource
作为数据源,并指定要绑定到哪个列。
答案 1 :(得分:0)
使用此:
Private Sub dgvEmployees_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvEmployees.CellContentClick
textbox1.Text = datagridview.Rows(e.RowIndex).Cells(0).Value
end sub