当我单击 datagridview 中的项目以获取更多信息时,我遇到问题!好的 ?
我的代码:
Try
If (DataGridView1.Rows.Count = 0) Then Return
TextBox1.Text = String.Empty
TextBox2.Text = String.Empty
TextBox3.Text = String.Empty
TextBox4.Text = String.Empty
Dim id As String = DataGridView1(2, DataGridView1.SelectedRows(0).Index).Value
Dim dt As DataTable = New DBConnect().selectdata(String.Format("SELECT items.ClientName, items.ClientAddress, items.ClientPhone, items.ClientCredit, items.ClientLastPay FROM items where items.ClientID = {0}", id))
TextBox1.Text = dt.Rows(0)(0).ToString
TextBox2.Text = dt.Rows(0)(1).ToString
TextBox3.Text = dt.Rows(0)(2).ToString
TextBox4.Text = dt.Rows(0)(3).ToString
dt.Dispose()
dt = Nothing
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
通过调试,错误在这一行:
Dim id As String = DataGridView1(2, DataGridView1.SelectedRows(0).Index).Value.ToString
这是我的完整源代码http://up.dev-point.com/download279606.html http://up.dev-point.com/download279606.html
当您需要指定要在行和列中查找时,您正尝试像数组一样访问 DataGridView。代替
DataGridView1(2, DataGridView1.SelectedRows(0).Index).Value
你可以写
DataGridView1.Columns(2).Cells(DataGridView1.SelectedRows(0).Index).Value
然而,依赖 SelectedRows 并不是最好的方法。如果用户不小心选择了几行并单击了底部一行怎么办?
假设您的代码位于 CellClick 处理程序中
(sender As Object, e As DataGridViewCellEventArgs)
您应该使用 DataGridViewCellEventArgs 来告诉您所在的行,而不是依赖 SelectedRows:
Dim id As String = DataGridView1(e.RowIndex).Cells(2).Value
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)