SQL 报表生成器 Table 动态颜色
SQL Report Builder Table Dynamic Color
这可能超出了报表生成器的限制。
我有一份 SQL 报告生成 table。 table 是具有动态行数的固定列数。 table 的要点是显示系统的食谱信息,我想在更改食谱信息时让用户更清楚。
示例
+-----------+-------+-----+
| row names | Col A | Col |
+-----------+-------+-----+
| row1 | 10 | 20 |
| row2 | 14 | 20 |
+-----------+-------+-----+
colA 的值已更改,因此我想更改 row2,colA 的单元格颜色或更改字体。使用户清楚发生了什么变化。
我希望永远动态地执行此操作。基本上与之前的行进行比较,并确定我是否需要更改任何单元格的颜色。
假设您只是想比较报告中显示的前一行,那么这很容易。
为了重新创建示例,我在名为 DataSet1
的数据集中使用了以下查询。
DECLARE @t TABLE(RowID int, ColA int, ColB int)
INSERT INTO @t VALUES
(1,10,20),
(2,14,20),
(3,14,20),
(4,15,21),
(5,15,22)
SELECT * FROM @t
然后我创建了一个简单的 table 结果按 RowID 排序。
然后我将包含 [ColA]
的单元格的 BackgroundColor
属性 更改为以下表达式。
=IIF(
Fields!ColA.Value = Previous(Fields!ColA.Value)
OR Fields!RowID.Value = MIN(Fields!RowID.Value, "DataSet1")
, Nothing
, "Khaki"
)
我为 Col B
重复了此操作,并根据需要更改了字段名称。
该表达式只是检查值是否与上一行相同。对于第一行,with 永远是错误的,所以我检查一下我们是否正在格式化第一行。因此,如果 (a) 我们在第一行或 (b) 数字与此列中的前一个数字相同,则背景设置为 Nothing
(默认值),如果两个条件都不是满足我们设置背景为'Khaki'.
最终结果是这样的...
另一种方法是修改 .RDL file.The RDL 文件基本上包含 XML 标签,因此如果您在记事本中打开它们或使用查看代码 Visual Studio 打开它们。您会发现为每一列调用名为 BackgroundColor 的标签。通过在现有颜色代码的位置给出颜色代码,您将获得所需的 color.you 可以设计自定义颜色并将其用于您的报告。
这可能超出了报表生成器的限制。
我有一份 SQL 报告生成 table。 table 是具有动态行数的固定列数。 table 的要点是显示系统的食谱信息,我想在更改食谱信息时让用户更清楚。
示例
+-----------+-------+-----+
| row names | Col A | Col |
+-----------+-------+-----+
| row1 | 10 | 20 |
| row2 | 14 | 20 |
+-----------+-------+-----+
colA 的值已更改,因此我想更改 row2,colA 的单元格颜色或更改字体。使用户清楚发生了什么变化。
我希望永远动态地执行此操作。基本上与之前的行进行比较,并确定我是否需要更改任何单元格的颜色。
假设您只是想比较报告中显示的前一行,那么这很容易。
为了重新创建示例,我在名为 DataSet1
的数据集中使用了以下查询。
DECLARE @t TABLE(RowID int, ColA int, ColB int)
INSERT INTO @t VALUES
(1,10,20),
(2,14,20),
(3,14,20),
(4,15,21),
(5,15,22)
SELECT * FROM @t
然后我创建了一个简单的 table 结果按 RowID 排序。
然后我将包含 [ColA]
的单元格的 BackgroundColor
属性 更改为以下表达式。
=IIF(
Fields!ColA.Value = Previous(Fields!ColA.Value)
OR Fields!RowID.Value = MIN(Fields!RowID.Value, "DataSet1")
, Nothing
, "Khaki"
)
我为 Col B
重复了此操作,并根据需要更改了字段名称。
该表达式只是检查值是否与上一行相同。对于第一行,with 永远是错误的,所以我检查一下我们是否正在格式化第一行。因此,如果 (a) 我们在第一行或 (b) 数字与此列中的前一个数字相同,则背景设置为 Nothing
(默认值),如果两个条件都不是满足我们设置背景为'Khaki'.
最终结果是这样的...
另一种方法是修改 .RDL file.The RDL 文件基本上包含 XML 标签,因此如果您在记事本中打开它们或使用查看代码 Visual Studio 打开它们。您会发现为每一列调用名为 BackgroundColor 的标签。通过在现有颜色代码的位置给出颜色代码,您将获得所需的 color.you 可以设计自定义颜色并将其用于您的报告。