以文本方式查看主题 - 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: 条件表达式。 |
||||
-- 作者:t_fs -- 发布时间:2008/9/12 19:32:00 -- 不明白! 从客户列和产品列提取不重复的值: \'定义数组集合的时候,要在类型后加上括号,表示这是一个数组集合。 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”事件代码:
|
||||
-- 作者: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事件,与老六的例子放的位置不同
|
||||
-- 作者:kylin -- 发布时间:2008/9/13 7:57:00 -- 以下是引用t_fs在2008-9-12 19:32:00的发言:
不明白! BASIC语言、VFP6.0毕竟是经典的东西了,易表起码从表面上看是以此为基础的,与你的经验基本合拍. |
||||
-- 作者: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遍,自然就不会很陌生。 |