Foxtable(狐表)用户栏目专家坐堂 → 关于样式问题


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

主题:关于样式问题

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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
关于样式问题  发帖心情 Post By:2020/3/23 16:19:00 [显示全部帖子]

如何实现,
1.如果”客户“为"A”和“状态”为“良好”当前行字体为“蓝色”,数量,金额为正数
2.如果”客户“为"B”和“状态”为“不及格”当前行字体为“红色”,数量,金额为负数
3,如果”客户“为"C”和“状态”为“淘汰”当前行字体为“黄色”,数量,金额为负数

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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/3/25 16:50:00 [显示全部帖子]

If e.Row("客户") = "A" andalso e.Row("状态") = "良"  False
    e.Style = "样式1"
ElseIf e.Row("客户") = "B" andalso e.Row("状态") = "不及格"  False
    e.Style = "样式2"
ElseIf.....

End If
这代码是写在,单元格绘制事件吗?

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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/3/31 17:58:00 [显示全部帖子]


1.这个只是单元格,我是要整行的字段变色;
2,按上面代码,做实例,报错,代码已注掉,上传给您修改,谢谢
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:表样样式问题.table



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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/3/31 21:59:00 [显示全部帖子]

1.如果”客户“为"A”和“级别”为“良好”当前行字体为“蓝色”,数量,金额为正数
2.如果”客户“为"B”和“级别”为“不及格”当前行字体为“红色”,数量,金额为负数
3,如果”客户“为"C”和“级别”为“淘汰”当前行字体为“黄色”,数量,金额为负数

If e.Row("客户") = "A" AndAlso e.Row("级别") = "良好"  Then
    e.Style = "良好"
DataTables("样式").DataCols("数量").SetFormat("#0.00")
ElseIf e.Row("客户") = "B" AndAlso e.Row("级别") = "不及格"  Then
    e.Style = "不及格"
DataTables("样式").DataCols("数量").SetFormat("\-0.00")
ElseIf e.Row("客户") = "C" AndAlso e.Row("级别") = "淘汰"  Then
    e.Style = "淘汰"
  DataTables("样式").DataCols("数量").SetFormat("\-0.00")  
End If

上面代码,没报错,但没实现“数量”列,按条件实现为正数,负数


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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/4/1 11:32:00 [显示全部帖子]

是的,谢谢,老师,

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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/4/1 11:58:00 [显示全部帖子]

If e.Row("客户") = "A" AndAlso e.Row("级别") = "优"  Then
    e.Style = "优"
ElseIf e.Row("客户") = "B" AndAlso e.Row("级别") = "良"  Then
    e.Style = "良"
if e.col.name = "数量"
e.text = "-" & e.Row("数量").SetFormat("#0.00")
end if
ElseIf e.Row("客户") = "C" AndAlso e.Row("级别") = "不及格"  Then
    e.Style = "不及格"
if e.col.name = "数量"
e.text = "-" & e.Row("数量").SetFormat("#0.00")
end if
End If

由于有时“数量”不是整数,有小数,所以想以保留数量两数,看帮助改上面代码,执行报错:



.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2019.12.17.18
错误所在事件:表,送货明细,DrawCell
详细错误信息:
调用的目标发生了异常。
未找到类型“Decimal”的公共成员“SetFormat”。

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


加好友 发短信
等级:五尾狐 帖子:1152 积分:7712 威望:0 精华:0 注册:2019/6/13 9:57:00
  发帖心情 Post By:2020/4/1 12:20:00 [显示全部帖子]

还有,在窗口关联表的明细表,实现表尾合计,需求是"数量","金额"都是正数,合计的值是正数,"数量","金额"都是负数,合计的值是负数。

而下面代码执行:所有合计出都是正数,这个与需求不样,
With Tables("样式主表.样式明细")
    .Cols("数量").GrandTotal = True '指定要合计的列
    .Cols("金额").GrandTotal = True
    .GrandTotal = True '显示合计模式
End With

 回到顶部