Foxtable(狐表)用户栏目专家坐堂 → [求助]高亮显示重复数据


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

主题:[求助]高亮显示重复数据

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/2 9:09:00 [显示全部帖子]

drawCell事件

 

e.Table.DataTable.AddUserStyle("重复", Color.Red, Color.Black)
If e.Col.Name = "日期时间" Then
    Dim fdr As DataRow = e.Table.DataTable.Find("日期时间 >= #" & e.Row("日期时间").Date & "# and 日期时间 < #" & e.Row("日期时间").Date.AddDays(1) & "# and _Identify <> " & e.Row("_Identify"))
    If fdr IsNot Nothing Then
        e.style = "重复"
    End If
End If

 

http://www.foxtable.com/help/topics/0656.htm

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/2 9:52:00 [显示全部帖子]

e.Table.DataTable.AddUserStyle("重复", Color.Red, Color.Black)
If e.Col.Name = "日期时间" Then
    Dim fdr As DataRow = e.Table.DataTable.Find("姓名 = '" & e.Row("姓名") & "' And 日期时间 >= #" & e.Row("日期时间").Date & "# and 日期时间 < #" & e.Row("日期时间").Date.AddDays(1) & "# and _Identify <> " & e.Row("_Identify"))
    If fdr IsNot Nothing Then
        e.style = "重复"
    End If
End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/2 10:41:00 [显示全部帖子]

e.Table.DataTable.AddUserStyle("重复", Color.Red, Color.Black)
If e.Col.Name = "日期时间" Then
    Dim count As Integer = e.Table.DataTable.Compute("count(姓名)","姓名 = '" & e.Row("姓名") & "' and 日期时间 >= #" & e.Row("日期时间").Date & "# and 日期时间 < #" & e.Row("日期时间").Date.AddDays(1) & "#")
    If count > 2 Then
        e.style = "重复"
    End If
End If

[此贴子已经被作者于2015/7/2 11:00:51编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/2 10:58:00 [显示全部帖子]

 

[此贴子已经被作者于2015/7/2 10:59:12编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/2 11:01:00 [显示全部帖子]

加上姓名判断

 

e.Table.DataTable.AddUserStyle("重复", Color.Red, Color.Black)
If e.Col.Name = "日期时间" Then
    Dim count As Integer = e.Table.DataTable.Compute("count(姓名)","姓名 = '" & e.Row("姓名") & "' and 日期时间 >= #" & e.Row("日期时间").Date & "# and 日期时间 < #" & e.Row("日期时间").Date.AddDays(1) & "#")
    If count > 2 Then
        e.style = "重复"
    End If
End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/2 22:39:00 [显示全部帖子]

mark 筛选重复

 

Dim idx As String = ""
Dim idx_temp As String = ""
Dim pdr As DataRow = Nothing
Dim count As Integer = 0
For Each dr As DataRow In DataTables("表A").Select("日期时间 is not null", "姓名,日期时间")
    output.show(dr("姓名") & dr("日期时间"))
    If pdr IsNot Nothing AndAlso (pdr("日期时间").Date <> dr("日期时间").Date OrElse pdr("姓名") <> dr("姓名")) Then
        output.show(count)
        If count > 2 Then
            idx &= idx_temp
        End If
        count = 1
        idx_temp = ""
    Else
        count += 1
    End If
    idx_temp &= dr("_Identify") & ","
    pdr = dr
Next

If count > 2 Then
    idx &= idx_temp
End If

Tables("表A").filter = "_Identify in (" & idx.trim(",") & ")"


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/8 0:08:00 [显示全部帖子]

If idx > "" Then

    Tables("表A").filter = "_Identify in (" & idx.trim(",") & ")"

Else

    Tables("表A").filter = "1=2"

End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/8 9:11:00 [显示全部帖子]

 pdr 是指上一行。

 

 排序取出内容,比较此行和上一行的内容,如果不同,就看上一行的内容是否重复

 

张三 2015.06.17

张三 2015.06.17

张三 2015.06.18

张三 2015.06.19

张三 2015.06.19

李四 2015.06.17

李四 2015.06.17

李四 2015.06.18

李四 2015.06.19

李四 2015.06.19

[此贴子已经被作者于2015/7/8 9:11:50编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/8 22:25:00 [显示全部帖子]

以下是引用wyz20130512在2015/7/8 22:20:00的发言:

 pdr 是指上一行。这种用法在Foxtable中没见着呀?还是不理解,请老师详细介绍一下.

 

视频教程 http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=67187

 


 回到顶部