Foxtable(狐表)用户栏目专家坐堂 → 如何实现筛选后 多个相同行只显示第一行?


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

主题:如何实现筛选后 多个相同行只显示第一行?

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


加好友 发短信
等级:幼狐 帖子:183 积分:1602 威望:0 精华:0 注册:2013/11/14 10:30:00
如何实现筛选后 多个相同行只显示第一行?  发帖心情 Post By:2014/7/30 16:49:00 [只看该作者]

下拉窗口打开后的筛选,如 

Tables("选择产品_table1").Filter = "[库存数量] >0"
Tables("选择产品_table1").Sort = "产品名称,入库日期"

执行筛选后,由于产品很多,而且相同的“产品名称”因为“入库日期”的不同也会有多行,这样下拉窗口会很长且查找不方便,而我只需要每个产品的第一行,也就是“入库日期”最早的一行,其它相同产品隐藏,请问如何实现?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/7/30 16:55:00 [只看该作者]

dim dr as datarow = Tables("选择产品_table1").Datatable.Find("[库存数量] >0","产品名称,入库日期")
if dr isnot nothing then
   Tables("选择产品_table1").Filter = "_Identify=" & dr("_Identify")
end if

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/30 16:56:00 [只看该作者]

 简单一点这样写

 

Tables("选择产品_table1").Select(-1,Tables("选择产品_table1").Cols("产品名称").Index)
Syscmd.Filter.HideSameValues()


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


加好友 发短信
等级:幼狐 帖子:183 积分:1602 威望:0 精华:0 注册:2013/11/14 10:30:00
  发帖心情 Post By:2014/7/30 17:00:00 [只看该作者]

Bin 老师,这样只能显示第一种产品的第一行,其它产品的第一行也要显示怎么做?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/30 17:01:00 [只看该作者]

复杂一点这样写

 

Dim drs As List(Of DataRow) = Tables("选择产品_table1").DataTable.Select("[库存数量] >0","产品名称,入库日期")
Dim idxs As String = ""
Dim names As New List(Of String)
For Each dr As DataRow In drs
    If names.Contains(dr("产品名称")) = False Then
        idxs &= dr("_Identify") & ","
        names.Add(dr("产品名称"))
    End If
Next
Tables("选择产品_table1").Filter = "_Identify in (" & idxs.TrimEnd(",") & ")"


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


加好友 发短信
等级:幼狐 帖子:183 积分:1602 威望:0 精华:0 注册:2013/11/14 10:30:00
  发帖心情 Post By:2014/7/30 17:11:00 [只看该作者]

解决了,感谢两位老师

 回到顶部