Foxtable(狐表)用户栏目专家坐堂 → 主教:获取子表的"配料"列的所有不重复的数据


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

主题:主教:获取子表的"配料"列的所有不重复的数据

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


加好友 发短信
等级:小狐 帖子:359 积分:3403 威望:0 精华:0 注册:2011/8/2 20:53:00
主教:获取子表的"配料"列的所有不重复的数据  发帖心情 Post By:2013/3/29 13:06:00 [只看该作者]

表A是主表.表B是子表,通过"单号"关联起来.
想通过代码,在"所有配料"列获取子表的"配料"列的所有不重复的数据,我使用以下代码,无法踢除重复的数据.请老师帮忙 !

Select Case e.DataCol.Name
    Case "单号"
        Dim drs As List(Of DataRow) = e.DataRow.GetChildRows("表B")
        Dim temp As String
        For Each dr As DataRow In drs
            temp = temp & dr("配料") & ","
        Next
        e.DataRow("所有配料") = temp
End Select

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


加好友 发短信
等级:超级版主 帖子:521 积分:4910 威望:0 精华:7 注册:2008/9/2 22:22:00
  发帖心情 Post By:2013/3/29 13:52:00 [只看该作者]

GetComboListString

从指定的列中提取不重复的值,用符号"|"将这些值连接成一个字符串,并返回这个字符串。
此方法通常用于动态设置列表项目。

语法:

GetComboListString(ColumnName,Filter, Sort)

ColumnName:列名称,从此列中提取不重复的值。
Filter: 可选参数,指定一个条件表达式,只返回符合此条件的值。
Sort: 可选参数,指定排序列,如果省略,则根据取值列排序,通常无需设置。

请参考表达式的运算符和函数条件表达式

示例

Output.Show(DataTables("订单").GetComboListString("产品"))

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

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


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


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

如果关联列是字符型:

 

Select Case e.DataCol.Name
    Case "单号"
        e.DataRow("所有配料") = DataTables("子表").GetComboListString("取值列","子表关联列 = '" & e.DataRow("父表关联列") & "'")
End Select

 

如果关联列是数值型:

 

Select Case e.DataCol.Name
    Case "单号"
        e.DataRow("所有配料") = DataTables("子表").GetComboListString("取值列","子表关联列 = " & e.DataRow("父表关联列") )
End Select


 回到顶部