Foxtable(狐表)用户栏目专家坐堂 → 标记的问题?


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

主题:标记的问题?

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
标记的问题?  发帖心情 Post By:2016/4/18 23:46:00 [只看该作者]

我们知道Foxtable有修改标记功能,能用红底白字标出那些 已经被修改过的单元格。
其实我们可以不用Foxtable内置的修改编辑功能,自己编码实现,过程很简单:

1、新增一个自定义样式,红底白字,假定样式名为"a"

2、将DrawCell事件代码设置为:

If e.Row(e.Col.Name) <> e.Row.DataRow.OriginalValue(e.Col.Name) Then
    
e.Style = "a"
End
 If


在知识点上看到标记,也这样设了

现在的情况是,我的表中有一个“备注”列,而这个备注列我们通过一个新建窗口,且通过代码将内容添加进去的,如上这个标记的代码就不可以用了,应该怎么判断单元格中内容改变并标记呢?



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


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
  发帖心情 Post By:2016/4/18 23:47:00 [只看该作者]

常规的单元格,手动修改的情况下,这个标记的代码是可以实现标记的

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/19 8:24:00 [只看该作者]

测试没有问题,上例子

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/19 9:28:00 [只看该作者]

以下是引用zsslly在2016/4/18 23:47:00的发言:
常规的单元格,手动修改的情况下,这个标记的代码是可以实现标记的

 

那你可以在DataColChanged事件或者你控件的TextChanged、ValueChanged刷新一下表

 

Tables("表A").Refresh


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


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
  发帖心情 Post By:2016/4/19 17:34:00 [只看该作者]

老师请看,备注列用窗口输入就不可以
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试标记.table


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/19 17:39:00 [只看该作者]

 你都把表保存了,自然就不显示,去掉代码

 

If DataTables ("表A").HasChanges Then
    DataTables ("表A").Save
End If


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


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
  发帖心情 Post By:2016/4/19 18:03:00 [只看该作者]

谢谢老师

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
  发帖心情 Post By:2016/4/19 20:04:00 [只看该作者]

老师,我发现这个代码和汇总样式的代码冲突了:

修改标记开始
If e.Row(e.Col.Name) <> e.Row.DataRow.OriginalValue(e.Col.Name) Then
    e.Style = "a"
End If






If e.Row.IsGroup = False Then
    
    If e.Row.Isnull ("操作性") = False Then
        If e.Row("操作性") = ("签单") Then
            e.style = "签单"
        Else If e.Row("操作性") = ("跑单") Then
            e.style = "跑单"
        End If
    End If
    
    
    If e. Col.name = "操作日期" Then
        If e.Row.Isnull("操作日期") = False Then
            If e.Row("操作日期") < = Date.Today Then
                e.style = "逾期"
            Else
                If e.Row("操作日期") < Date.Today.addDays(3) Then
                    e.style = "近期"
                End If
            End If
        End If
    End If
    
    
    If e.Row.Isnull ("市场部") = False Then
        If e.Row("市场部") = ("未分派") Then
            e.style = "未分派"
        End If
    End If
    
    
    If e.Row.Isnull ("操作性") = False Then
        If e.Row("操作性") = ("预签") Then
            e.style = "预签"
        End If
    End If
    
    
    If e.Row.Isnull ("操作性") = False Then
        If e.Row("操作性") = ("预收设计") Then
            e.style = "预收设计"
        End If
    End If
    
    
    If e.Row.Isnull ("跟单状态") = False Then
        If e.Row("跟单状态") = ("转跟") Then
            e.style = "转跟"
        End If
    End If

Else

If e.Row.Level = 0 Then
        e.Style = "样式1"
    Else If e.Row.Level = 1 Then
        e.Style = "样式2"
    End If
    

End If





求老师帮看看那里出错了?

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


加好友 发短信
等级:四尾狐 帖子:972 积分:7193 威望:0 精华:0 注册:2013/5/24 12:29:00
  发帖心情 Post By:2016/4/19 20:05:00 [只看该作者]

主要是样式这里,取消标记代码都可以,用这个代码后在汇总时,系统提示未引用到对象

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/19 20:08:00 [只看该作者]

If e.Row.DataRow IsNot Nothing AndAlso e.Row.DataRow.OriginalValue(e.Col.Name).Gettype.Name <> "DBNull" AndAlso e.Row(e.Col.Name) <> e.Row.DataRow.OriginalValue(e.Col.Name) Then
    e.Style = "a"
End If
[此贴子已经被作者于2016/4/19 20:07:59编辑过]

 回到顶部
总数 16 1 2 下一页