Foxtable(狐表)用户栏目专家坐堂 → [求助]这个是DrawCell事件的Bug吗?


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

主题:[求助]这个是DrawCell事件的Bug吗?

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
[求助]这个是DrawCell事件的Bug吗?  发帖心情 Post By:2015/6/8 12:47:00 [显示全部帖子]

在全局表事件设置了DrawCell事件。窗口也激活了全局表的DrawCell事件。

如果窗口表的DrawCell事件为空。是可以按全局表事件DrawCell的代码执行的。

但是,如果窗口表中,设置了DrawCell事件,全局表的DrawCell事件就不作用了。无论设置的是否同一列的事件。

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



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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
[求助]说明一下。  发帖心情 Post By:2015/6/8 12:49:00 [显示全部帖子]

上面例子,如果删除了窗口表中的DrawCell事件后,全局表事件是会生效的。


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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
[求助]说明一下。  发帖心情 Post By:2015/6/8 16:03:00 [显示全部帖子]

你要看看清楚:
1全局表事件DrawCell的列名是   “第一列”
2.窗口表的DrawCell事件的列名是 “第二列”

是不相同的。

现在的情况就是,如果窗口表设置的DrawCell事件后,全局的DrawCell事件就不作用了(所有的代码都不作用了)。

其它事件是没这个情况的。

我只想问下能否解决,还是这个本身是这个设置的。

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
[求助]说明一下。  发帖心情 Post By:2015/6/8 16:51:00 [显示全部帖子]

两个代码定义的列是不一样的。不一样也不能共享吗?

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
[求助]说明一下。  发帖心情 Post By:2015/6/8 16:53:00 [显示全部帖子]

就算是定义了同一列名的代码,也是有一个作用,另一个不作用。因为其它的事件代码都是这样定义的。

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
[求助]说明一下。  发帖心情 Post By:2015/6/8 17:14:00 [显示全部帖子]

这是官方的解释吗?

这样子的话,太不合情理。如果多个窗口表都有同一列名的列,那个是要每个窗口表都要定义DrawCell事件。那么要全局表事件来干什么用的。为什么其它表事件不是这样?这应该是一个Bug.

再一次说明,我定义的不是同一列名的事件。

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
[求助]说明一下。  发帖心情 Post By:2015/6/8 17:28:00 [显示全部帖子]

想,如果反复使用的代码写在全局表事件。

专用的代码,分别写在各个窗口表中。

如果全局表的代码太多,太长。就影响排查错误。

因为目前DrawCell事件的情况,我个人认为是Bug来的。只要在窗口表的写了DrawCell代码.全局表的代码就全部不作用了。是全部。

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
[求助]说明一下。  发帖心情 Post By:2015/6/8 17:40:00 [显示全部帖子]

我的例子是:
全局DrawCell代码:
If e.Col.Name Like "第一列" Then
    If e.Row.IsNull(e.Col.Name) = False Then
        If e.Row(e.Col.Name) = "a" Then
            e.Style = "绿底"
        ElseIf e.Row(e.Col.Name) = "b" Then
            e.Style = "黄底"
        End If
    End If
End If

窗口1表DrawCell代码:

If e.Col.Name Like "第二列" Then
    If e.Row.IsNull(e.Col.Name) = False Then
        If e.Row(e.Col.Name) = "a" Then
            e.Style = "绿底"
        ElseIf e.Row(e.Col.Name) = "b" Then
            e.Style = "黄底"
        End If
    End If
End If

是定义两个不同列的代码来的。

现在情况是,全局表事件不作用了。

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
[求助]说明一下。  发帖心情 Post By:2015/6/8 17:41:00 [显示全部帖子]

就是第一列的DrawCell代码,不作用了。 我在窗口1表没有设置第一列的代码啊。为什么 全局表代码不作用了。

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


加好友 发短信
等级:五尾狐 帖子:1038 积分:12915 威望:0 精华:0 注册:2011/5/29 15:19:00
[求助]说明一下。  发帖心情 Post By:2015/6/8 17:43:00 [显示全部帖子]

其它的事件不是这种情况,能改成和其它事件一样的逻辑吗?技术上应该没问题的。

其它的表事件,逻辑是:先执行窗口表事件,然后再执行全局表事件。
[此贴子已经被作者于2015/6/8 18:01:42编辑过]

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