Foxtable(狐表)用户栏目专家坐堂 → 设计筛选行


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

主题:设计筛选行

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
设计筛选行  发帖心情 Post By:2016/9/30 19:29:00 [只看该作者]

问问 如果设计一个按钮 筛选不重复怎么写代码啊?感谢 感谢 
比如 Table1绑定了表A
然后表A 姓名有很多  王二小 张小花 李小胖 王二小等等很多重复的
然后点击按钮后  Table1 就显示姓名列不重复的,而且是最后一行。
感谢 感谢 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:筛选.table


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160930200201.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2016/9/30 20:02:57编辑过]

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


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

e.Form.Controls("Table1").Select()
e.Form.Controls("Table1").Table.Select(0,0)
Syscmd.Filter.HideSameValues()

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2016/10/1 8:26:00 [只看该作者]

谢谢  筛选出来了,只是可以是被筛选的是最后一行吗(如果有相同的),如果没有相同的就显示该行。
比如有张山,李四 ,李四 就显示 张山,和最后一行的李四,感谢 感谢,  
同时第二列不等于0的不显示, 感谢 感谢 图片点击可在新窗口打开查看
[此贴子已经被作者于2016/10/1 8:55:11编辑过]

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


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

1、第二列改为整数列

2、代码:

 

If DataTables("表A").DataCols.Contains("tmp") = False Then
    DataTables("表A").DataCols.Add("tmp",Gettype(String),1)
    Tables("表A").cols("tmp").Visible = False
    Tables("窗口1_Table1").cols("tmp").Visible = False
End If
Dim drs As List(of DataRow) = DataTables("表A").Select("","姓名,第二列 desc")
drs(0)("tmp") = "0"
For i As Integer = 1 To  drs.count - 1
    If drs(i)("姓名") = drs(i-1)("姓名") Then
        drs(i)("tmp") = "1"
    Else
        drs(i)("tmp") = "0"
    End If
Next
Tables("窗口1_Table1").Filter = "tmp = '0'"

 

我基本上不认为编程是一个技术活,因为只要基础通了,一切都通了,A、B、C这样搭建起来即可。

还有别人给你写的代码,你要去理解,将其消化为自己的知识,这样别人对你的帮助,才有意义。

[此贴子已经被作者于2016/10/1 9:05:35编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2016/10/1 10:15:00 [只看该作者]

可以再改一下吗?改为 就是姓名最后一行是0的时候 和之前的相同的姓名都不显示
是这样的 ,其实还是设计了一个功能,这是一个流水账 ,当最后张山 最后一行 的第二列为0  点击按钮 姓名列为张山的都不显示。


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


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

看不懂你在问什么。

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2016/10/1 10:24:00 [只看该作者]

比如 
第一行 张山  2
第二行 李四  3
第三行 王麻子 6
第五行 李四   5
第六行 王麻子 0

就只是显示  张山 2、李四 5 (李四最后一行) 王麻子(王麻子所有不显示,因为王麻子的最后一行是0)
 感谢 感谢 


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


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

If DataTables("表A").DataCols.Contains("tmp") = False Then
    DataTables("表A").DataCols.Add("tmp",Gettype(String),1)
    Tables("表A").cols("tmp").Visible = False
    Tables("窗口1_Table1").cols("tmp").Visible = False
End If
Dim drs As List(of DataRow) = DataTables("表A").Select("","姓名,第二列 desc")
drs(0)("tmp") = "0"
For i As Integer = 1 To  drs.count - 1
    If drs(i)("姓名") = drs(i-1)("姓名") Then
        drs(i)("tmp") = "1"
    Else
        drs(i)("tmp") = "0"
    End If
Next
Tables("窗口1_Table1").Filter = "tmp = '0' And 第二列 <> 0"

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2016/10/2 9:17:00 [只看该作者]

前面都可以了,就是最后还是会显示,就是当姓名列出现0后 先判断后面还有没同这个姓名的,如果有 就显示最后一行,如果没有 就隐藏所有与这个姓名相同的行,感谢 感谢 

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


加好友 发短信
等级:九尾狐 帖子:2707 积分:18056 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2016/10/2 20:14:00 [只看该作者]

能再帮忙看看吗 感谢 感谢 

 回到顶部
总数 22 1 2 3 下一页