Foxtable(狐表)用户栏目专家坐堂 → 如何筛选出刚修改过的单元格


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

主题:如何筛选出刚修改过的单元格

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


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

MarkModifedCell = true
Tables("表A").Refresh

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


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

drawcell事件

 

If e.Col.name = "第二列" Then
    If e.Row(e.Col.name) <> e.Row.DataRow.OriginalValue(e.Col.name) Then
        e.Table.DataTable.AddUserStyle("修改了", Color.Red, Color.black)
        e.style = "修改了"
    End If
End If


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


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

参考

 

Dim idx As String = "-1,"
For Each dr As DataRow In DataTables("表A").datarows
    If dr("第二列") <> dr.OriginalValue("第二列") Then
        idx &= dr("_Identify") & ","
    End If
Next

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


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


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

Dim idx As String = "-1,"
For Each dr As DataRow In DataTables("表A").datarows
    For Each dc As DataCol In DataTables("表A").DataCols
        If dr(dc.Name) <> dr.OriginalValue(dc.Name) Then
            idx &= dr("_Identify") & ","
            Exit For
        End If
    Next
Next

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


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


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

是的,一行,只要有一列修改了,其余的就没必要继续循环。

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


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

Dim idx As String = "-1,"
Dim cs() As String = {"第一列", "第二列", "第三列"}
For Each dr As DataRow In DataTables("表A").datarows
    For Each dc As String In cs
        If dr(dc) <> dr.OriginalValue(dc) Then
            idx &= dr("_Identify") & ","
            Exit For
        End If
    Next
Next

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


 回到顶部