以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  GetComboListString  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=1208)

--  作者:smileboy
--  发布时间:2008/11/22 13:44:00
--  GetComboListString
 

GetComboListString

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

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

语法:

GetComboListString(ColumnNameFilter)

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

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

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

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

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

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

[此贴子已经被作者于2008-11-22 18:34:33编辑过]

--  作者: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


--  作者:don
--  发布时间:2008/11/22 16:14:00
--  

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

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

--  作者:kylin
--  发布时间:2008/11/22 16:16:00
--  
好东西,顶一下
--  作者:czy
--  发布时间:2008/11/22 17:18:00
--  
顶一个。
--  作者: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说明只是现在的帮助中还没加入。


--  作者:程兴刚
--  发布时间:2008/11/22 17:32:00
--  

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


--  作者:enirilt
--  发布时间:2008/11/22 17:45:00
--  
收藏了