找回密码
 立即注册

QQ登录

只需一步,快速开始

上海灵蛙

注册会员

2

主题

23

帖子

136

积分

注册会员

积分
136
最新发帖
上海灵蛙
注册会员   /  发表于:2016-3-9 09:04  /   查看:3397  /  回复:8
本帖最后由 Lenka.Guo 于 2016-3-9 15:39 编辑

报表设置了隔行灰色跟白色,然后根据状态又有其他颜色,具体见附件
问题是:当我最后一行不是灰色跟白色的时候,自动添加的行全是最后一行的颜色





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

8 个回复

倒序浏览
上海灵蛙
注册会员   /  发表于:2016-3-9 10:38:11
沙发
刚刚测试了一下,发现了一个问题,数据为空的时候填充的都是白色而不是灰色白色相间,我觉得问题可能出在这里
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-3-9 10:57:48
板凳
谢谢您的反馈,模板已经下载了,正在测试。
回复 使用道具 举报
上海灵蛙
注册会员   /  发表于:2016-3-9 13:02:22
地板
Lenka.Guo 发表于 2016-3-9 10:57
谢谢您的反馈,模板已经下载了,正在测试。

请问有解决方法了没,比较急
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-3-9 14:40:54
5#
本帖最后由 Lenka.Guo 于 2016-3-9 14:43 编辑

您好,一直在研究您的问题,
发现产品存在一个问题:就是如果最后一行是带颜色行,则会影响空白行的背景色;如图:



现有的解决方案是,

1. 您在做SQL 语句查询时(UNION操作符) ,添加一行空白行(所以字段值为null):


SQL 语句示例:
select * from (
SELECT top 10 订单.订单ID, 订单.客户ID, 订单.订购日期, 产品.产品名称, 订单明细.数量, 订单明细.单价, 订单明细.折扣, 订单.货主城市, 订单.货主地址, 订单.货主名称, 订单.货主邮政编码, 客户.电话
FROM ((订单INNER JOIN 订单明细ON 订单.订单ID = 订单明细.订单ID) INNER JOIN 产品ON 订单明细.产品ID = 产品.产品ID) INNER JOIN 客户ON 订单.客户ID = 客户.客户ID
UNION
select null 订单ID, null  客户ID, null 订购日期, null产品名称, null 数量, null单价, null 折扣, null货主城市, null 货主地址, null货主名称, null 货主邮政编码, null电话
) a
order by a.订单ID desc






2. 设置表格详细数据的Visibility的Hidden 属性:=iif(Fields!订单ID.value=null,true,false)


示例模板,见附件









本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1满意度 +5 收起 理由
上海灵蛙 + 5 很给力!

查看全部评分

回复 使用道具 举报
上海灵蛙
注册会员   /  发表于:2016-3-9 15:37:07
6#
Lenka.Guo 发表于 2016-3-9 14:40
您好,一直在研究您的问题,
发现产品存在一个问题:就是如果最后一行是带颜色行,则会影响空白行的背景色 ...

非常感谢您的解答,但是我测试了一下发现还是有个问题,就是新添加的行一定的白色的,如果最后一行也是白色就会有3行一样的在一起如图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-3-9 18:58:54
7#
这个是因为脚本最后一个条件设置的原因:
改为以下代码,就可以解决了:
        ElseIf((rownumber Mod 2) = 0)Then
                Return "white"               
        End If
End Function


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1满意度 +5 收起 理由
上海灵蛙 + 5 很给力!

查看全部评分

回复 使用道具 举报
上海灵蛙
注册会员   /  发表于:2016-3-10 09:20:22
8#
Lenka.Guo 发表于 2016-3-9 18:58
这个是因为脚本最后一个条件设置的原因:
改为以下代码,就可以解决了:
        ElseIf((rownumber Mod 2) = 0) ...

晕。。。不对啊,我测试了一下还是一样的啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-3-10 11:58:22
9#
还是在脚本中添加判断条件的问题,这下应该没问题了:
代码:
Function SetColor(ByVal e As Integer, ByVal rownumber As Integer) As String
       

        If (e = 10294 ) Then
                Return "Yellow"
        ElseIf(e = 10285)Then
                Return "Red"
        ElseIf(e = 5)Then
                Return "Lime"

        ElseIf( CStr(e) = 0 And ((rownumber Mod 2) = 1) )Then
                Return "gray"
        ElseIf(  CStr(e) = 0 And ((rownumber Mod 2) = 0) )Then       
                Return "white"
        ElseIf( CStr(e) <> 0 And rownumber Mod 2 = 1)Then
                Return "white"
        ElseIf(CStr(e) <> 0 And rownumber Mod 2 = 0 )Then       
                Return "gray"

        End If
End Function










本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1满意度 +5 收起 理由
上海灵蛙 + 5 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部