以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]列表项目如何筛选去掉重复内容?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=462)

--  作者:t_fs
--  发布时间:2008/9/12 17:21:00
--  [求助]列表项目如何筛选去掉重复内容?

     列表项目来自于列

     列表项目不仅可以自定义,还可以直接用某一列中已经输入的内容作为列表项目。

    我用了这个功能后,发现列表中有太多的重复内容,我如何用“过滤条件”属性设置成去掉重复内容,而仅显示非重复的内容。
这个公式我不会写,请指教!谢谢。


--  作者:kylin
--  发布时间:2008/9/12 17:30:00
--  

GetUniqueValues

从指定列中,获取不重复的值,以集合的形式返回。

语法:

GetUniqueValues(Filter, Col1, Col, Col3....)

Filter: 条件表达式。
Col1: 指定列名称,可以指定多列。


--  作者:t_fs
--  发布时间:2008/9/12 19:32:00
--  

   不明白!

   用下列程序改了一下,也不行!下列程序好象是用来筛选表内数据行的,不知道用在列属性中来筛选列表项目可行否?能不能把程序写好,我参照一下。谢谢了!  

   列表项目是初级阶段的内容,而下列公式是开发指南中的内容呀!  

   狐表太难了,学易表时也没有这么难呀!
   我最初还用过BASIC语言、VFP6.0等编过几个实用程序的,有一定的编程基础都这么难以入门,对于没有编程经验的初学者,其难度也是可想而知的。

  

示例三

从客户列和产品列提取不重复的值:

\'定义数组集合的时候,要在类型后加上括号,表示这是一个数组集合。
Dim
Arys As List(Of String())
Arys =
DataTables("订单").GetUniqueValues("", "客户","产品")
\'注意循环变量是字符型数组,所以类型是String(),而不是String

For
Each Ary As String() In Arys
    Output.Show(Ary(
0) & "|" & Ary(1))
Next

  


--  作者:狐狸爸爸
--  发布时间:2008/9/12 20:53:00
--  
不是太难,是你太急
请参考下面的项目属性中的“MainTableChanged”事件代码:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4_0912.zip


--  作者:t_fs
--  发布时间:2008/9/13 7:22:00
--  
谢谢回复!
     我这个列表项目是取的当前表的当前列中的内容的,即在“项目管理”表中的“责任人”列中录入时,还取“责任人”列的内容做列表项目。与您提供的有点区别,你的是取另一个表的某一列做列表项目。你看看下列公式有何错误:

If Maintable.Name = "项目管理" Then
    Dim Items As String
    Dim lst As List(Of String) = DataTables("项目管理").GetuniqueValues("","责任人")
    For Each Item As String In Lst
        Items = Items & "|" & Item
    Next
   Tables("项目管理").Cols("责任人").ComboList = Items
End If

    结果在打开该表时出现错误提示:设置Datasource属性后无法修改项集合

    是否是以上公式不能用在当前表的当前列中做为列表项目呢?

--  作者:kylin
--  发布时间:2008/9/13 7:46:00
--  

刚才试了一下,参见“项目管理”表中的PrepareEdit事件,与老六的例子放的位置不同

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:取本表列表项目.table


--  作者:kylin
--  发布时间:2008/9/13 7:57:00
--  
以下是引用t_fs在2008-9-12 19:32:00的发言:

   不明白!

   用下列程序改了一下,也不行!下列程序好象是用来筛选表内数据行的,不知道用在列属性中来筛选列表项目可行否?能不能把程序写好,我参照一下。谢谢了!  

   列表项目是初级阶段的内容,而下列公式是开发指南中的内容呀!  

   狐表太难了,学易表时也没有这么难呀!
   我最初还用过BASIC语言、VFP6.0等编过几个实用程序的,有一定的编程基础都这么难以入门,对于没有编程经验的初学者,其难度也是可想而知的。

  

BASIC语言、VFP6.0毕竟是经典的东西了,易表起码从表面上看是以此为基础的,与你的经验基本合拍.
.net环境下,需要比较大的脑筋转换,你可能还没有“得法”吧,不要轻言“难易”,入门就会发现比实际的VB.net本身容易得很多.
选择狐表不会有错!图片点击可在新窗口打开查看


--  作者:t_fs
--  发布时间:2008/9/13 11:28:00
--  
图片点击可在新窗口打开查看              谢谢kylin你的指点!  改正后使用效果很好。
kylin就是这个位置一般人很难找对地方的。

--  作者:贺老六
--  发布时间:2008/9/13 11:34:00
--  
以下是引用t_fs在2008-9-13 11:28:00的发言:
图片点击可在新窗口打开查看              谢谢kylin你的指点!  改正后使用效果很好。
kylin就是这个位置一般人很难找对地方的。


不难找,帮助和示例文件,就是这个问题。


--  作者:kylin
--  发布时间:2008/9/13 11:37:00
--  
以下是引用贺老六在2008-9-13 11:34:00的发言:


不难找,帮助和示例文件,就是这个问题。

就是,不要急着做,先把帮助从头到尾耐心看个2-3遍,自然就不会很陌生。