如何通过在数据网格视图中选择一行来自动填充文本框 (vb.net) (sql)
How can I autofill text boxes by selecting a row in a datagridview (vb.net) (sql)
我希望我的文本框在我 select 一行时自动填充。这是一个例子...
ID
Firstname
Lastname
2435
timmy
turner
我点击 ID = 1 的行 ---> TextBox1.text = 2435
我试过了
For Each row As DataGridViewRow In DataGridView1.SelectedRows
TextBox1.Text = row.Cells(0).value
Next
我知道这是完全错误的,但我认为我的想法是正确的。
您必须处理 DataGridView 的 SelectionChanged
事件。
Private Sub MyDataGridView_SelectionChanged(sender As Object, e As EventArgs) Handles MyDataGridView.SelectionChanged
With MyDataGridView
' Ensure one and only one row is selected.
If .SelectedRows IsNot Nothing AndAlso .SelectedRows.Count = 1 Then
Dim row As DataGridViewRow = .SelectedRows(0)
TextBox1.Text = row.Cells(0).Value.ToString()
TextBox2.Text = row.Cells(1).Value.ToString()
End If
End With
End Sub
如果您使用 BindingSource
,您可以将相同的数据源应用于多个控件,它们将保持同步。
Binding
的构造函数取
- 你要绑定的属性,本例为
Text
- 数据源,在本例中为 BindingSource,
bs
- DataTable 中要绑定的列的字段名称,在本例中为
Name
,另一个为 Type
。 (我数据库中的字段 table)
当您在 DataGridView 中 select 行时,文本框将同步。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim dt = LoadCoffeeTable()
Dim bs As New BindingSource(dt, Nothing)
DataGridView1.DataSource = bs
TextBox1.DataBindings.Add(New Binding("Text", bs, "Name"))
TextBox2.DataBindings.Add(New Binding("Text", bs, "Type"))
End Sub
我希望我的文本框在我 select 一行时自动填充。这是一个例子...
ID | Firstname | Lastname |
---|---|---|
2435 | timmy | turner |
我点击 ID = 1 的行 ---> TextBox1.text = 2435
我试过了
For Each row As DataGridViewRow In DataGridView1.SelectedRows
TextBox1.Text = row.Cells(0).value
Next
我知道这是完全错误的,但我认为我的想法是正确的。
您必须处理 DataGridView 的 SelectionChanged
事件。
Private Sub MyDataGridView_SelectionChanged(sender As Object, e As EventArgs) Handles MyDataGridView.SelectionChanged
With MyDataGridView
' Ensure one and only one row is selected.
If .SelectedRows IsNot Nothing AndAlso .SelectedRows.Count = 1 Then
Dim row As DataGridViewRow = .SelectedRows(0)
TextBox1.Text = row.Cells(0).Value.ToString()
TextBox2.Text = row.Cells(1).Value.ToString()
End If
End With
End Sub
如果您使用 BindingSource
,您可以将相同的数据源应用于多个控件,它们将保持同步。
Binding
的构造函数取
- 你要绑定的属性,本例为
Text
- 数据源,在本例中为 BindingSource,
bs
- DataTable 中要绑定的列的字段名称,在本例中为
Name
,另一个为Type
。 (我数据库中的字段 table)
当您在 DataGridView 中 select 行时,文本框将同步。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim dt = LoadCoffeeTable()
Dim bs As New BindingSource(dt, Nothing)
DataGridView1.DataSource = bs
TextBox1.DataBindings.Add(New Binding("Text", bs, "Name"))
TextBox2.DataBindings.Add(New Binding("Text", bs, "Type"))
End Sub