Foxtable(狐表)用户栏目专家坐堂 → 请教drawcell


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

主题:请教drawcell

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


加好友 发短信
等级:狐神 帖子:5065 积分:13128 威望:0 精华:0 注册:2014/5/15 21:34:00
请教drawcell  发帖心情 Post By:2016/11/22 19:27:00 [只看该作者]

大师:请问drawcell事件,能否传回一个变量值,通过这个变量值,来显示对话框?也就是所与标记的颜色同步显示对话框。

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


加好友 发短信
等级:狐神 帖子:5065 积分:13128 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2016/11/22 19:32:00 [只看该作者]

意思就是:当一张表用不同颜色标记后,有一个动态对话框。提示有数据错误。
If e.Col.IsNumeric AndAlso e.Col.Name <> "总分" Then
    If
e.Row.IsNull(e.Col.Name) = False '且该列已经输入内容
       
If e.Row(e.Col.Name) < 60 Then '如果该列的值小于60
            e.Style = "不及格" '那么用"不及格"样式绘制单元格
       
End If
    End
If
End
If


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


加好友 发短信
等级:超级版主 帖子:113480 积分:577889 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/22 20:21:00 [只看该作者]

应该在DataColChanged、ValidateEdit、AfterEdit这些事件处理。

老是想着drawcell你就误入歧途了

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


加好友 发短信
等级:狐神 帖子:5065 积分:13128 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2016/11/22 20:47:00 [只看该作者]

自动计算可以,标记不是还要drawcell吗?

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


加好友 发短信
等级:超级版主 帖子:113480 积分:577889 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/22 20:54:00 [只看该作者]

打开对话框提示错误就不是属于标记了

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


加好友 发短信
等级:狐神 帖子:5065 积分:13128 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2016/11/22 21:23:00 [只看该作者]

public kz as Boolean    '---全局变量---
dim  a ,b as Boolean
if e.Col.IsNumeric AndAlso e.Col.Name <> "总分" Then 
    If e.Row.IsNull(e.Col.Name) = False '且该列已经输入内容
        if   e.Col.Name = "第五列"  then
        If e.Row(e.Col.Name) <> e.row("第一列") + e.row("第二列")  Then '如果该列的值小于60
            e.Style = "不及格" '那么用"不及格"样式绘制单元格
            a = true 
        
End If
       elseif   e.Col.Name = "第七列"  then 
        If e.Row(e.Col.Name) <> e.row("第八列") + e.row("第九列")  Then '如果该列的值小于60
            e.Style = "不及格" '那么用"不及格"样式绘制单元格
           b = true
        
End If
        end if
    End
 If
       if a = true and b = true  then
       kz = true
       end if
End
 
If

请问  kz变量  为何不能传送为true,就是等于false


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


加好友 发短信
等级:超级版主 帖子:113480 积分:577889 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/22 21:50:00 [只看该作者]

因为a和b永远不会同时等于true

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


加好友 发短信
等级:超级版主 帖子:113480 积分:577889 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/22 21:52:00 [只看该作者]

public  a ,b as Boolean '---全局变量---

if e.Col.IsNumeric AndAlso e.Col.Name <> "总分" Then 
    If e.Row.IsNull(e.Col.Name) = False '且该列已经输入内容
        if   e.Col.Name = "第五列"  then
        If e.Row(e.Col.Name) <> e.row("第一列") + e.row("第二列")  Then '如果该列的值小于60
            e.Style = "不及格" '那么用"不及格"样式绘制单元格
            a = true 
        
End If
       elseif   e.Col.Name = "第七列"  then 
        If e.Row(e.Col.Name) <> e.row("第八列") + e.row("第九列")  Then '如果该列的值小于60
            e.Style = "不及格" '那么用"不及格"样式绘制单元格
           b = true
        
End If
        end if
    End
 If

End If

需要判断的时候

       if a = true and b = true  then
       ‘其它处理
       end if

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


加好友 发短信
等级:狐神 帖子:5065 积分:13128 威望:0 精华:0 注册:2014/5/15 21:34:00
  发帖心情 Post By:2016/11/22 22:27:00 [只看该作者]

public  a ,b as Boolean '---全局变量---
public kz as Boolean    ‘----作为事件的开启变量---
if  kz = true   then
if e.Col.IsNumeric AndAlso e.Col.Name <> "总分" Then 
    If e.Row.IsNull(e.Col.Name) = False '且该列已经输入内容
        if   e.Col.Name = "第五列"  then
        If e.Row(e.Col.Name) <> e.row("第一列") + e.row("第二列")  Then '如果该列的值小于60
            e.Style = "不及格" '那么用"不及格"样式绘制单元格
            a = true 
        
End If
       elseif   e.Col.Name = "第七列"  then 
        If e.Row(e.Col.Name) <> e.row("第八列") + e.row("第九列")  Then '如果该列的值小于60
            e.Style = "不及格" '那么用"不及格"样式绘制单元格
           b = true
        
End If
        end if
    End
 If

End If

需要判断的时候

       if a = true and b = true  then
       kz = false
messagebox.show(“有问题”)
       end if
end if

请问以上处理行不行?

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


加好友 发短信
等级:超级版主 帖子:113480 积分:577889 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/22 22:30:00 [只看该作者]

这个只能自己测试看结果

 回到顶部