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

点击ListBox中从SQL表加载的ItemName时如何将对应字段填充到文本框

功能实现步骤

第一步:优化现有数据绑定逻辑

在你现有的窗体加载绑定代码末尾追加一行设置ValueMember的代码,方便后续取值(非强制但更规范):

Dim cmd As New SqlCommand("select * FROM Items")
cmd.Connection = connection
Dim adp As New SqlDataAdapter(cmd)
Dim dt As New DataTable()
adp.Fill(dt)
ListBox1.DataSource = dt
ListBox1.DisplayMember = "ItemName"
' 新增以下行
ListBox1.ValueMember = "ItemId"

第二步:添加ListBox选中变化事件处理逻辑

给ListBox1添加SelectedIndexChanged事件,当用户点击选中项时触发取值填充逻辑,代码如下:

Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
    ' 先判断是否有选中项,避免空引用报错
    If ListBox1.SelectedItem Is Nothing Then Return
    ' 转换选中项为DataRowView(绑定DataTable时选中项默认是该类型)
    Dim selectedRow As DataRowView = CType(ListBox1.SelectedItem, DataRowView)
    ' 填充对应文本框,以下文本框名称请替换为你实际窗体中的控件名
    txtItemId.Text = selectedRow("ItemId").ToString()
    txtItemName.Text = selectedRow("ItemName").ToString()
    ' 处理可能为空的Details字段,避免DBNull报错
    txtDetails.Text = If(IsDBNull(selectedRow("Details")), "", selectedRow("Details").ToString())
End Sub

注意事项

  • 请将代码中的txtItemId、txtItemName、txtDetails替换为你自己窗体上对应文本框的Name属性值
  • 如果ItemId是数值类型需要做运算,可以在ToString后自行转换为Integer等对应类型

内容的提问来源于stack exchange,提问作者Potato Python Learner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:09:01