Foxtable(狐表)用户栏目专家坐堂 → [原创] 代码设置 ComboBox下拉框


  共有2177人关注过本帖树形打印复制链接

主题:[原创] 代码设置 ComboBox下拉框

帅哥哟,离线,有人找我吗?
瑞峰
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:208 积分:2128 威望:0 精华:0 注册:2018/10/8 13:32:00
[原创] 代码设置 ComboBox下拉框  发帖心情 Post By:2023/9/10 16:10:00 [只看该作者]

如何设置 cmb.DataSource = "dt.name" 这段。
dt.=name 是空白,直接使用dt 又不行,必须要一个string

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.Com mandText = "SELE CT UserID,UserName From {st_user}"
dt = cmd.ExecuteReader
dt.load
'msgbox(dt.name)
Dim cmb As WinForm.ComboBox = e.Form.Controls("ComboBox1")
cmb.DisplayMember = "UserName" '设置显示列
cmb.ValueMember = "Userid" '设置取值列
cmb.DataSource = "dt.name" '表项目来自于客户表

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/10 21:26:00 [只看该作者]

cmb.DataSource只能绑定现有的数据表,无法绑定临时表

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/10 21:27:00 [只看该作者]

如果要使用不同取值的显示值建议使用下拉组合框:http://www.foxtable.com/webhelp/topics/2098.htm

 回到顶部
帅哥哟,离线,有人找我吗?
瑞峰
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:208 积分:2128 威望:0 精华:0 注册:2018/10/8 13:32:00
  发帖心情 Post By:2023/9/11 11:48:00 [只看该作者]

谢谢,加为外部表 就可以使用了。
但输入UserName,Userid的任何记录,都不能自动填充,必须自己完全输入
并且DataSort也没有效果

Dim cmb As WinForm.ComboBox = e.Form.Controls("ComboBox1")
cmb.DisplayMember = "UserName" '设置显示列
cmb.ValueMember = "Userid" '设置取值列
cmb.DataSort = "UserName"
cmb.DataSource = "st_user_profile" '表项目来自于客户表
cmb.AutoComplete = True
[此贴子已经被作者于2023/9/11 11:48:37编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/11 12:05:00 [只看该作者]

调换下位置

Dim cmb As WinForm.ComboBox = e.Form.Controls("ComboBox1")
cmb.AutoComplete = True
cmb.DisplayMember = "UserName" '设置显示列
cmb.ValueMember = "Userid" '设置取值列
cmb.DataSort = "UserName"
cmb.DataSource = "st_user_profile" '表项目来自于客户表


 回到顶部
帅哥哟,离线,有人找我吗?
瑞峰
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:208 积分:2128 威望:0 精华:0 注册:2018/10/8 13:32:00
  发帖心情 Post By:2023/9/11 12:55:00 [只看该作者]

Dim cmb As WinForm.ComboBox = e.Form.Controls("ComboBox1")
cmb.AutoComplete = True
cmb.DataSort = "UserName"
cmb.DisplayMember = "UserName" '设置显示列
cmb.ValueMember = "Userid" '设置取值列
cmb.DataSource = "st_user_profile" '表项目来自于客户表

DataSort也没有效果,我换成Userid 也没有用



 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/11 13:31:00 [只看该作者]

DataSort属性已经没有用了。如果又要显示列,又要排序的话,建议使用下拉窗口+drawcell处理吧

 回到顶部