以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]后台控制单元格背景色及字体颜色 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148986) |
-- 作者:miaoqingqing -- 发布时间:2020/4/20 20:20:00 -- [求助]后台控制单元格背景色及字体颜色 想实现通过后台表控制某表某列值等于xx时,该单元格背景色及xx字体颜色 表名 列名 单元格颜色 字体颜色 停用 |
-- 作者:有点蓝 -- 发布时间:2020/4/20 20:55:00 -- 参考:http://www.foxtable.com/webhelp/topics/0656.htm 比如: dim dr as datarow = datatables("后台表").find("表名=\'" & e.table.name & "\' and 列名=\'" & e.col.name & "\' and 停用=false") if dr isnot nothing then e.table.DataTable.AddUserStyle(e.table.name & e.col.name, Color.FromARGB(dr("单元格颜色")), Color.FromARGB(dr("字体颜色"))) e.style =e.table.name & e.col.name end if
|
-- 作者:miaoqingqing -- 发布时间:2020/4/21 11:43:00 -- 此主题相关图片如下:2.png 此主题相关图片如下:1.png 表A第一列值 等于 中国 美国 显示颜色后台控制,求助 .NET Framework 版本:4.0.30319.34209 Foxtable 版本:2020.4.10.8 错误所在事件:表,表A,DrawCell 详细错误信息: 调用的目标发生了异常。 从字符串“”到类型“Integer”的转换无效。 输入字符串的格式不正确。 |
-- 作者:有点蓝 -- 发布时间:2020/4/21 12:01:00 -- 请把颜色值转换为整数存储:http://www.foxtable.com/webhelp/topics/0496.htm |
-- 作者:miaoqingqing -- 发布时间:2020/4/21 12:30:00 -- 回复:(有点蓝)请把颜色值转换为整数存储:http://w... 坛主,颜色设置为整数,可以显示列颜色了,不过是整列一个颜色,不是想实现的效果 加一个列值相等后台表的条件才颜色突显,下面代码怎么修改,求助 是否要for each 循环查找 Dim dr As DataRow = DataTables("后台表").find("表名=\'" & e.Table.name & "\' and 列名=\'" & e.Col.name & "\' and 列值=\'" & e.Col.Value & "\' And 停用=false") If dr IsNot Nothing Then e.Table.DataTable.AddUserStyle(e.Table.name & e.Col.name, Color.FromARGB(dr("单元格颜色")), Color.FromARGB(dr("字体颜色"))) e.style =e.Table.name & e.Col.name End If [此贴子已经被作者于2020/4/21 12:50:47编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/21 13:36:00 -- If dr IsNot Nothing andalso e.Col.name = dr("列名") Then |
-- 作者:miaoqingqing -- 发布时间:2020/4/21 14:37:00 -- 回复:(有点蓝)If dr IsNot Nothing andalso&n... 此主题相关图片如下:7.png 想只是 中国 美国 单元格颜色突显 美国 单元格颜色突显 Dim dr As DataRow = DataTables("后台表").find("表名=\'" & e.Table.name & "\' and 列名=\'" & e.Col.name & "\' and 停用=false") If dr IsNot Nothing AndAlso e.Col.name = dr("列名") Then \'If e.Col.name = dr("列名") Then If dr IsNot Nothing Then e.Table.DataTable.AddUserStyle(e.Table.name & e.Col.name, Color.FromARGB(dr("单元格颜色")), Color.FromARGB(dr("字体颜色"))) e.style =e.Table.name & e.Col.name End If End If |
-- 作者:有点蓝 -- 发布时间:2020/4/21 14:53:00 -- If dr IsNot Nothing AndAlso e.Col.name = dr("列名") andalso e.row(e.Col.name) = dr("列值") Then |
-- 作者:miaoqingqing -- 发布时间:2020/4/21 15:16:00 -- 回复:(有点蓝)If dr IsNot Nothing AndAlso e.Col.... 坛主,上楼代码 第一列 中国 可以颜色突显 第一列 美国 颜色突显不了,求助美国也颜色突显
[此贴子已经被作者于2020/4/21 15:16:42编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/21 15:34:00 -- Dim dr As DataRow = DataTables("后台表").find("表名=\'" & e.Table.name & "\' and 列名=\'" & e.Col.name & "\' and 列值=\'" & e.row(e.Col.name) & "\' And 停用=false") |