以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 点选下拉列表选项后,其他控件未定现自动录入数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172848) |
-- 作者:采菊东篱下 -- 发布时间:2021/11/3 16:30:00 -- 点选下拉列表选项后,其他控件未定现自动录入数据 我想实现点选窗口中的ComboBox1控件,TextBox1、TextBox2控件直接输入最小编号和对应的姓名 我在SelectedIndexChanged事件中这样写,TextBox1、TextBox2没反应。 Dim cmd As New SQLCommand Dim dt As DataTable cmd.CommandText = "SELECT DISTINCT 棋赛名称,比赛已结束 Fr om {基本信息} WHERE [比赛已结束] = False Or [比赛已结束] Is null" dt = cmd.ExecuteReader e.Sender.Combolist = dt.SQLGetComboListString("棋赛名称","[比赛已结束] = False Or [比赛已结束] Is null") Dim val As String = e.Sender.SelectedItem If val IsNot Nothing Then Dim Min0 As String = DataTables("基本信息").SQLCompute("Min(编号)","[棋赛名称] = \'" & val & "\'") Messagebox.show(Min0) Dim dr As DataRow = DataTables("基本信息").SQLFind("[棋赛名称] = \'" & val & "\' And [编号] = \'" & Min0 & "\'") e.Form.Controls("TextBox1").Value = dr("编号") e.Form.Controls("TextBox2").Value = dr("姓名") End If
|
-- 作者:有点蓝 -- 发布时间:2021/11/3 16:35:00 -- 去掉SelectedIndexChanged事件 到valuechanged事件处理 if e.sender.text > "" then dim val as string = e.sender.text Dim Min0 As String = DataTables("基本信息").SQLCompute("Min(编号)","[棋赛名称] = \'" & val & "\'") Messagebox.show("[棋赛名称] = \'" & val & "\' And [编号] = \'" & Min0 & "\'") Dim dr As DataRow = DataTables("基本信息").SQLFind("[棋赛名称] = \'" & val & "\' And [编号] = \'" & Min0 & "\'") if dr isnot nothing then e.Form.Controls("TextBox1").Value = dr("编号") e.Form.Controls("TextBox2").Value = dr("姓名") else msgbox("没有符合条件的数据") end if end if
|
-- 作者:采菊东篱下 -- 发布时间:2021/11/3 16:53:00 -- 谢谢,可以了,还有,我想让ComboBox1控件中的文字自动换行,如何实现? |
-- 作者:有点蓝 -- 发布时间:2021/11/3 17:29:00 -- 没有办法 |
-- 作者:采菊东篱下 -- 发布时间:2021/11/3 17:38:00 -- 哪名称过长,怎样实现分行显示?只能用文本控件吗?但用文本控件又怕名称有误。 |
-- 作者:有点蓝 -- 发布时间:2021/11/3 17:39:00 -- 使用下拉窗口 |
-- 作者:采菊东篱下 -- 发布时间:2021/11/3 18:00:00 -- 用下拉目录树?不是我要的效果! |
-- 作者:有点蓝 -- 发布时间:2021/11/4 8:28:00 -- http://www.foxtable.com/webhelp/topics/2465.htm |
-- 作者:采菊东篱下 -- 发布时间:2021/11/4 14:38:00 -- 不要下拉窗口形式,我在下面加一个文本控件作棋赛副名: 这样写TextBox3没有赋值
If e.sender.text > "" Then Dim val As String = e.sender.text Dim Min0 As String = DataTables("基本信息").SQLCompute("Min(编号)","[棋赛名称] = \'" & val & "\'") Dim dr As DataRow = DataTables("基本信息").SQLFind("[棋赛名称] = \'" & val & "\' And [编号] = \'" & Min0 & "\'") If dr IsNot Nothing And dr.IsNull("棋赛副名") Then e.Form.Controls("TextBox3").Value = Nothing e.Form.Controls("TextBox1").Value = dr("编号") e.Form.Controls("TextBox2").Value = dr("姓名") ElseIf dr IsNot Nothing And dr.IsNull("棋赛副名") = False Then e.Form.Controls("TextBox3").Value = dr("棋赛副名") e.Form.Controls("TextBox1").Value = dr("编号") e.Form.Controls("TextBox2").Value = dr("姓名") Else msgbox("没有符合条件的数据") End If End If |
-- 作者:有点蓝 -- 发布时间:2021/11/4 15:10:00 -- Dim dr As DataRow = DataTables("基本信息").SQLFind("[棋赛名称] = \'" & val & "\' And [编号] = \'" & Min0 & "\'") If dr IsNot Nothing Then e.Form.Controls("TextBox1").text = dr("编号") e.Form.Controls("TextBox2").text = dr("姓名") e.Form.Controls("TextBox3").text = dr("棋赛副名") Else msgbox("没有符合条件的数据") End If
|