Foxtable(狐表)用户栏目专家坐堂 → 想在Cols("车牌号").Combolist 里显示车牌号和客户


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

主题:想在Cols("车牌号").Combolist 里显示车牌号和客户

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


加好友 发短信
等级:婴狐 帖子:74 积分:795 威望:0 精华:0 注册:2011/4/7 15:26:00
想在Cols("车牌号").Combolist 里显示车牌号和客户  发帖心情 Post By:2011/5/30 15:39:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "SELECT 车牌号,客户 From {客户表} "
dt = cmd.ExecuteReader
Tables("销售清单").Cols("车牌号").Combolist = dt.GetComboListString("车牌号")

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/30 15:47:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Connection Name = "数据源名称"
cmd.CommandText = "SELECT Distinct 车牌号 From {客户表} "
dt = cmd.ExecuteReader
Tables("销售清单").Cols("车牌号").Combolist = dt.GetComboListString("车牌号")

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


加好友 发短信
等级:婴狐 帖子:74 积分:795 威望:0 精华:0 注册:2011/4/7 15:26:00
  发帖心情 Post By:2011/5/30 16:02:00 [只看该作者]

想把车牌号和客户同时都显示出来


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


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

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Connection Name = "数据源名称"
cmd.CommandText = "SELECT distinct 车牌号,客户 From {客户表} "
dt = cmd.ExecuteReader
Dim v as string

For Each dr As DataRow in dt.DataRows

     v = v & dr("车牌号") & " " & dr("客户") & “|”

Next

Tables("销售清单").Cols("车牌号").Combolist = v


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


加好友 发短信
等级:四尾狐 帖子:781 积分:9870 威望:0 精华:0 注册:2008/9/1 13:47:00
  发帖心情 Post By:2011/5/30 19:36:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:婴狐 帖子:74 积分:795 威望:0 精华:0 注册:2011/4/7 15:26:00
  发帖心情 Post By:2011/5/30 20:53:00 [只看该作者]

为什么用这种方法,加载3000条的数据,在列表里显示的时间最少有5秒才能把这3000条显示出来

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/31 8:23:00 [只看该作者]

用5秒是肯定的,从后台取3000行数据,还好组合成列表框。
 
用下面的代码可能会快一点:
 
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Connection Name = "数据源名称"
cmd.CommandText = "SELECT distinct 车牌号,客户 From {客户表} "
dt = cmd.ExecuteReader
Dim v As New StringBuilder
For Each dr As DataRow in dt.DataRows
    v.Append(dr("车牌号"))
    v.Append(" ")
    v.Append(dr("客户"))
    v.Append("|")
Next
Tables("销售清单").Cols("车牌号").Combolist = v.Tostring
 

原理参考:

http://help.foxtable.com/topics/2097.htm


 
不过3000个列表项目,似乎没有实际的意义,会不会太多了?

 

 


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


加好友 发短信
等级:婴狐 帖子:74 积分:795 威望:0 精华:0 注册:2011/4/7 15:26:00
  发帖心情 Post By:2011/5/31 12:40:00 [只看该作者]

因为我有个标准工位(3000多条),就想用这种功能进行查找


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


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

改用7楼方法,现在是几秒钟?

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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2011/5/31 15:20:00 [只看该作者]

以下是引用狐狸爸爸在2011-5-30 16:22:00的发言:

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Connection Name = "数据源名称"
cmd.CommandText = "SELECT distinct 车牌号,客户 From {客户表} "
dt = cmd.ExecuteReader
Dim v as string

For Each dr As DataRow in dt.DataRows

     v = v & dr("车牌号") & " " & dr("客户") & “|”

Next

Tables("销售清单").Cols("车牌号").Combolist = v

如果想在cols("车牌号).combolist 下拉选择时,同时显示车牌号和对应的客户,而填入到车牌号单元格中的值则只取车牌号,如何设置代码?


--------------------------------

ValidateEdit事件输入值来校验应该可以

通过数据分隔符号来判断输入的值 ,比如车牌号列表值为: 京P12345-刘德华 可以使用ValidateEdit来通过 "-"分隔符来去掉-号与后面的值,具体代码如何写,还得各位老师帮出主意了.呵呵



另外我试,1500行数据,几乎不到一秒,很快的

[此贴子已经被作者于2011-5-31 15:20:15编辑过]

 回到顶部
总数 13 1 2 下一页