选中DataGridView的一行后,点击一个按钮,让这一行的数据显示在TextBox中~

Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
Dim sqlcmd As New SqlClient.SqlCommand '定义sqlCommand
sqlcmd.Connection = New SqlClient.SqlConnection(GetDBInfo())
sqlcmd.Connection.Open()
Try
Dim sqlrd As SqlClient.SqlDataReader '定义sqldatareader
sqlcmd.CommandText = "Select * From cangk where cangkno=" & CangkglDataSet5.cangk.Rows(cklxDGV.CurrentCell.RowIndex).Item("cangkno")
sqlrd = sqlcmd.ExecuteReader(CommandBehavior.CloseConnection) '生成sqldatareader
sqlrd.Read() '读取数据
While (sqlrd.Read())
TextBox1.Text = cklxDGV.Rows(cklxDGV.CurrentRow.Index).Cells("cangkno").Value.ToString()
TextBox2.Text = cklxDGV.Rows(cklxDGV.CurrentRow.Index).Cells("cangkname").Value.ToString()
TextBox3.Text = cklxDGV.Rows(cklxDGV.CurrentRow.Index).Cells("cangkadd").Value.ToString()
TextBox4.Text = cklxDGV.Rows(cklxDGV.CurrentRow.Index).Cells("cangktype").Value.ToString()
End While
sqlrd.Close()
sqlcmd.Connection.Close()
Catch ex As Exception
MsgBox(ex.Message)
Finally
sqlcmd.Dispose() ' 释放sqlCommand
End Try
End Sub
代码是这样 但是点击按钮以后没有反应 TextBox里也没有显示
请问是哪里错了 应该怎么改 我是新手 麻烦说详细一点 谢谢!

没缩进着色的代码看着好累呀.
按钮点击事件事件中使用

dataGridView1.CurrentCell.RowIndex //获取所选单元格所在dataGridView1.Rows中的索引也就是选了dataGridView的第几行

dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex]//这样就抓取到你所选的整行了.

可以用dataGridView的 SelectionChanged 事件 确保有选择行.否则你没选会抛异常.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-30
你的提问和代码的需求不一样,你到底是要实现哪个
第2个回答  推荐于2018-04-21
VB? 啊 datagridview有cellclick事件在C#里 不知道vb里是什么情况本回答被网友采纳
相似回答