Foxtable(狐表)用户栏目专家坐堂 → [求助]单元格绘制


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

主题:[求助]单元格绘制

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
[求助]单元格绘制  发帖心情 Post By:2020/6/10 20:40:00 [显示全部帖子]

求助字符串为 废品  的行才单元格绘制
下面代码所有行都单元格颜色绘制,不懂修改
For Each ar As Row In Tables("产品").rows
    If e.Col.Name = "突显" Then
        If ar("名称").EndsWith("废品")
            e.Style = "红色"
    End If
End If
Next

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
回复:(有点蓝)    If e.Col.Name = "突显...  发帖心情 Post By:2020/6/30 14:41:00 [显示全部帖子]

求助,当前1个单元格边框线设置为加粗红色

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
回复:(有点蓝)    If e.Col.Name = "突显...  发帖心情 Post By:2020/6/30 14:54:00 [显示全部帖子]

if e.Row.index = e.table.rowsel and e.Col.index = e.table.colsel then 
   焦点单元格,黑色粗线,像Excle,求助
end if

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
回复:(有点蓝)    If e.Col.Name = "突显...  发帖心情 Post By:2020/6/30 15:22:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:焦点单元格边框效果.jpg
图片点击可在新窗口打开查看

求助像上图Excle焦点单元格边框效果
上楼代码,报错

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
回复:(有点蓝)把表格样式改为foxtable经典蓝drawce...  发帖心情 Post By:2020/6/30 15:54:00 [显示全部帖子]

上楼代码只有在焦点单元格背景色为白色是,才可以显示红色边框。如果焦点单元格已有背景色,就不显示红色边框。求助,焦点单元格有背景色时,焦点单元格也能显示红色边框

如果焦点单元格样式显示背景色和字体颜色后,下面代码,焦点单元格边框没显示红色边框:
If e.Row.index = e.Table.rowsel AndAlso e.Col.name = "正式成果名称" Then
    e.style = "样式1"
    e.Graphics.DrawRectangle(New Pen(Color.Red,2),e.x + 1,e.y + 1, e.Width-4, e.Height - 4)  '当前表样式边框颜色设置
End If

下面代码,如果焦点单元格已有背景色及字体颜色,焦点单元格红色边框,也没显示:
Dim dr As DataRow = DataTables("单元格绘制").find("表名='" & e.Table.name & "' and 列名='" & e.Col.name & "' and 列值='" & e.Row(e.Col.name) & "' And 停用=false")
If dr IsNot Nothing AndAlso e.Col.name = dr("列名") AndAlso e.Row(e.Col.name) = dr("列值") Then
    If dr IsNot Nothing Then
        Dim s As String = e.Table.name & e.Col.name & dr("列值")
        'e.Table.grid.Styles.Remove("User" & s)
        e.Table.DataTable.AddUserStyle(s, Color.FromARGB(IIF(dr.Isnull("单元格颜色"),-1,dr("单元格颜色"))), Color.FromARGB(IIF(dr.Isnull("字体颜色"),-1,dr("字体颜色"))) )
        e.style =s
    e.Graphics.DrawRectangle(New Pen(Color.Red,2),e.x + 1,e.y + 1, e.Width-4, e.Height - 4) '当前表样式边框颜色设置
    End If
End If

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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
回复:(有点蓝)请上传实例测试  发帖心情 Post By:2020/6/30 16:28:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:焦点单元格边框颜色显示失败.foxdb


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


加好友 发短信
等级:三尾狐 帖子:660 积分:5180 威望:0 精华:0 注册:2019/7/26 12:54:00
回复:(有点蓝)测试了一下,没有办法,绘制和样式只...  发帖心情 Post By:2020/6/30 17:20:00 [显示全部帖子]

样式,增加一个排除条件: 不是当前焦点单元格,是否可以?
焦点单元格时,再执行 绘制,是否可以?

 回到顶部