Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:GetComboListString

1楼
smileboy 发表于:2008/11/22 13:44:00
 

GetComboListString

从指定的列中提取不重复的值,用符号"|"将这些值连接成一个字符串,并返回这个字符串。

此方法通常用于动态设置列表项目。

语法:

GetComboListString(ColumnNameFilter)

    ColumnName:列名称
Filter:
     可选参数,指定一个条件表达式,只返回符合此条件的值。请参考表达式的运算符和函数

示例,设置订单表产品列的列表项目:

Tables("订单").Cols("产品").ComboList = DataTables("订单").GetComboListString("产品")

也可以设置条件,例如,从客户表中提取华中地区的客户名单:

Output.Show(DataTables("客户").GetComboListString("客户名称","[地区] = '华北'"))

这样可以大大简化设计列表项目代码

[此贴子已经被作者于2008-11-22 18:34:33编辑过]
2楼
yuanbin 发表于:2008/11/22 15:55:00
顶。将简化进行到底。
再举例比较以下的前后应用,非常节约命令行数,达到1:6或1:7。

e.Form.Controls("ComboBox1").Combolist =DataTables("A表").getcomboliststring("分类")  一条语句相当于以下六条:
Dim Items As String
Dim lst As List(Of String) = DataTables("A表").GetuniqueValues("","分类")
For Each Item As String In Lst
      Items = Items & "|" & Item
Next
e.Form.Controls("ComboBox1").ComboList = Items

e.Form.Controls("ComboBox2").Combolist=DataTables("A表").getcomboliststring("名称","[分类]='" & e.Form.Controls("ComboBox1").value & "'" )   一条语句相当于以下七条:
Dim drs As New List(Of string)  '字符串集合
drs = DataTables("A表").GetUniqueValues("[分类]='" & e.Form.Controls("ComboBox1").value & "'" , "名称")
Dim Val AS String        
For Each dr As string In drs    
   Val = Val & "|" & dr
Next
e.Form.Controls("ComboBox2").Combolist = Val

3楼
don 发表于:2008/11/22 16:14:00

顶!经试验效率很好,只是不明白帮助里只有GetUniqueValues而没有GetComboListString,怕就怕会有什么副作用,就象表达式里可用Not in(副作用是效率非常低),但帮助只介绍In一样.

[此贴子已经被作者于2008-11-22 16:14:35编辑过]
4楼
kylin 发表于:2008/11/22 16:16:00
好东西,顶一下
5楼
czy 发表于:2008/11/22 17:18:00
顶一个。
6楼
czy 发表于:2008/11/22 17:20:00
以下是引用don在2008-11-22 16:14:00的发言:

顶!经试验效率很好,只是不明白帮助里只有GetUniqueValues而没有GetComboListString,怕就怕会有什么副作用,就象表达式里可用Not in(副作用是效率非常低),但帮助只介绍In一样.

[此贴子已经被作者于2008-11-22 16:14:35编辑过]


不会有副作用的,GetComboListString说明只是现在的帮助中还没加入。

7楼
liuruihua 发表于:2008/11/22 17:25:00
用户已锁定!
8楼
程兴刚 发表于:2008/11/22 17:32:00

好东西,来迟了也要强顶!

9楼
enirilt 发表于:2008/11/22 17:45:00
收藏了
共9 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04297 s, 2 queries.