Foxtable(狐表)用户栏目专家坐堂 → ComboBox控件 绑定外部数据表


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

主题:ComboBox控件 绑定外部数据表

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


加好友 发短信
等级:婴狐 帖子:8 积分:151 威望:0 精华:0 注册:2012/5/7 20:16:00
ComboBox控件 绑定外部数据表  发帖心情 Post By:2012/5/25 16:40:00 [只看该作者]

ComboBox.DataSource 能否直接引用外部数据而不必加载进来?比如:
Dim cmd As New SQLCommand
cmd.Connecti 
cmd.CommandText = "SELECT DISTINCT 客户 From {订单}"
dt = cmd.ExecuteReader()
.....
....
cmb.DataSource= dt

因为下拉控件,一个下拉项同时绑定一个字符串和一个值是很常用的.

如果不能用外部表,还能有其他的替代方案吗?

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/25 16:45:00 [只看该作者]

说实话,我没有看明白你的意思哦。

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


加好友 发短信
等级:婴狐 帖子:8 积分:151 威望:0 精华:0 注册:2012/5/7 20:16:00
回复:(狐狸爸爸)说实话,我没有看明白你的意思哦。...  发帖心情 Post By:2012/5/25 16:51:00 [只看该作者]

我用SQL 语句查询外部数据表,得到一个DataTable.
我想将这个DataTable绑定到ComboBox控件上面.
我想将name 和 ID 同时绑定到ComboBox 的下拉项.


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/25 17:02:00 [只看该作者]

可以:

 

select distinct 第一列 + 第二列 As 我的列 From {表A}

 

Dim cmd As New SQLCommand
cmd.Connecti
cmd.CommandText = "SELECT DISTINCT ID + 客户 As 客户 From {订单}"
dt = cmd.ExecuteReader()
.....
....
cmb.DataSource= dt

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


加好友 发短信
等级:婴狐 帖子:8 积分:151 威望:0 精华:0 注册:2012/5/7 20:16:00
回复:(狐狸爸爸)可以: select distinct ...  发帖心情 Post By:2012/5/25 17:07:00 [只看该作者]

DataSource

字符型,返回或设置列表项目来源表的名称。
必须先设置显示列和取值列的名称,然后再设置数据来源表的名称,设置才可生效。


这字符型的,你怎么赋值?


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/25 17:24:00 [只看该作者]

已经加载的表,才可以用表名:     Dim cmb As WinForm.ComboBox
cmb = Forms("窗口1").Controls("ComboBox1")
cmb.DisplayMember = "客户名称" '设置显示列
cmb.ValueMember = "客户编号" '设置取值列
cmb.DataSource = "客户" '列表项目来自于客户表
 
没有加载的外部表,直接:

Dim cmd As New SQLCommand

cmd.Connecti

cmd.CommandText = "SELECT DISTINCT ID + 客户 As 客户 From {订单}"

dt = cmd.ExecuteReader()

cmb.ComboList = dt.GetComboListString("客户")


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


加好友 发短信
等级:婴狐 帖子:8 积分:151 威望:0 精华:0 注册:2012/5/7 20:16:00
回复:(狐狸爸爸)已经加载的表,才可以用表名: &nb...  发帖心情 Post By:2012/5/25 17:36:00 [只看该作者]

我举个例子.
我从数据库里面查出一张表
_________________________
name                      ID
_________________________
张三      1
_________________________
李四      2
_________________________
王五      3
_________________________


我想把ComboBox的一个下拉项目,同时绑定一行数据(张三 和 ID),
ComboBox.SelectedItem.Text = "张三"
ComboBox.SelectedValue.Value = "1"

我不知道我是否表达清楚.
[此贴子已经被作者于2012-5-25 17:36:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/25 17:48:00 [只看该作者]

没办法

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


加好友 发短信
等级:童狐 帖子:242 积分:1775 威望:0 精华:0 注册:2012/5/9 16:10:00
  发帖心情 Post By:2012/5/25 22:50:00 [只看该作者]

中毒很深,你还不如做个案例。

 回到顶部