You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET中如何选中DataGridView行实现文本框自动填充(关联SQL)

DataGridView选中行自动填充文本框实现方案

你的现有代码逻辑方向正确,未生效通常由三个原因导致:代码未绑定到正确的触发事件、DataGridView选择模式未设置为整行选中、未处理空值和类型匹配问题。

实现步骤

1. 配置DataGridView基础属性(设计器设置或窗体加载事件中配置均可)

' 设置为整行选中模式,避免点击单元格时无法选中整行
DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
' 关闭多选,避免选中多行时文本框内容被覆盖
DataGridView1.MultiSelect = False

2. 绑定SelectionChanged事件并编写逻辑

将代码写入DataGridView的SelectionChanged事件中,点击选中行时会自动触发该事件:

Private Sub DataGridView1_SelectionChanged(sender As Object, e As EventArgs) Handles DataGridView1.SelectionChanged
    ' 先判断是否存在选中行,避免空引用报错
    If DataGridView1.SelectedRows.Count > 0 Then
        ' 推荐用列名取值,列顺序调整时无需修改代码,稳定性更高
        TextBox1.Text = DataGridView1.SelectedRows(0).Cells("ID").Value?.ToString()
        ' 若要使用索引取值可替换为下方代码
        ' TextBox1.Text = DataGridView1.SelectedRows(0).Cells(0).Value?.ToString()
    End If
End Sub

代码优化说明

  • 无需循环遍历所有选中行,关闭多选后直接取第一个选中行即可,运行效率更高
  • 新增?.空值传播运算符,避免ID列为空时抛出空引用异常
  • 新增ToString()方法统一转换为字符串格式,和TextBox的Text属性类型完全匹配
  • 用列名代替索引取值,后续调整DataGridView列顺序时不需要修改代码,兼容性更强

内容的提问来源于stack exchange,提问作者jumexmango

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 16:45:03