[]
        
(Showing Draft Content)

报表主题设置

报表主题

报表主题是一种自定义报告外观的方法。当您想要使用单个配置控制多个报告的外观时,此功能非常有用。它还可以帮助提供多语言报告,从链接的资源中提取静态文本,例如报告标题或表格列标题。

报表主题结构

报表主题是一个 JSON 对象,包含调色板、主要和次要字体属性、图像列表和文本值。目前,ActiveReportsJS 不提供主题编辑器,但使用以下步骤从头开始创建主题非常容易:

·创建一个带有扩展名的新文件*.rdlx-json-theme。


·将以下内容复制到新创建的文件中,并将值替换为您自己的值。您可以使用在线工具(如pbase64-image )将图像文件转换为 Base64 字符串。

{
  "Theme": {
    "Colors": {
      "Dark1": "#000000",
      "Dark2": "#1a1a1a",
      "Light1": "#40cddf",
      "Light2": "#e6e6e6",
      "Accent1": "MediumTurquoise",
      "Accent2": "Gold",
      "Accent3": "DeepPink",
      "Accent4": "#557bd2",
      "Accent5": "#8acc1f",
      "Accent6": "#409dcc",
      "Hyperlink": "#aaa",
      "HyperlinkFollowed": "#3c3c3c"
    },
    "Fonts": {
      "MajorFont": {
        "Family": "Montserrat",
        "Style": "Normal",
        "Size": "20pt",
        "Weight": "Medium"
      },
      "MinorFont": {
        "Family": "Montserrat",
        "Style": "Normal",
        "Size": "9pt",
        "Weight": "Normal"
      }
    },
    "Images": [
      {
        "Name": "Logo",
        "MIMEType": "image/png",
        "ImageData": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsSAAALEgHS3X78AAABD0lEQVRIie2UzW3CQBCFn1OB0wG3dyUVABUk6SDpIHRAB0AFoQPSAaEDru8UOmBLiFYao9F6gZXZW/Iky9q/93lnxoN/3VLj1yWdALTJmTnJ1dBIPiTj1Dzq+Z40pYDqKgGMa97gO7OnlTQYkgIOmT3BniqAfcZ8RvI4FNCkE5J+AIycee5WxcoleW3v9kLZ3g3YAOhCsqwOIBlDM7fhWNJnVYBBvgB07eHtEkTS6FYJ95KcGOwATG24Ifnu1qLxzvIUXInvSS5KAfHw1kEOFr7gzHsiefa9CnCgmOwPNxWuVZgHFDU7kvGrX111FZdvcTe1xD9ZiIr/7KIQ5STpBcDEuu3UbQkkH4f6/jUB+AWm0kmTmeXA3wAAAABJRU5ErkJggg=="
      }
    ],
    "Constants": [
        {
          "Key": "Title",
          "Value": "Sales Report"
        }
      ]
  }
}

将报告链接到主题

要将报告链接到特定主题,请按照下列步骤操作:


1.将带有扩展名的主题文件保存*.rdlx-json-theme在报告文件所在的同一文件夹中。


2.在报告编辑器中打开报告。属性Theme下拉菜单现在应该列出与报表位于同一目录中的所有可用主题。

主题图片


3.或者,您可以通过将 Theme 属性设置为在运行时计算为所需主题名称的表达式来动态地将主题分配给报表。例如,在报表主题演示中,报表的 Theme 属性使用以下表达式进行配置:IIF(Parameters!ThemeID.Value = "dark", "DarkTheme.rdlx-json-theme", "LightTheme.rdlx-json-theme")


通过此设置,报表将根据用户在报表查看器界面中选择的 ThemeID 参数的值应用浅色或深色主题。


选择主题后,您可以使用以下表达式来引用主题的值。

代币

描述

Light1 color

{Theme.Colors!Light1}

Light2 color

{Theme.Colors!Light2}

Dark1 color

{Theme.Colors!Dark1}

Dark2 color

{Theme.Colors!Dark2}

Accent1 color

{Theme.Colors!Accent1}

Accent2 color

{Theme.Colors!Accent2}

Accent3 color

{Theme.Colors!Accent3}

Accent4 color

{Theme.Colors!Accent4}

Accent5 color

{Theme.Colors!Accent5}

Accent6 color

{Theme.Colors!Accent6}

Hyperlink color

{Theme.Colors!Hyperlink}

HyperlinkFollowed color

{Theme.Colors!HyperlinkFollowed}

Major font family

{Theme.Fonts!MajorFont.Family}

Major font size

{Theme.Fonts!MajorFont.Size}

Major font style

{Theme.Fonts!MajorFont.Style}

Major font weight

{Theme.Fonts!MajorFont.Weight}

Minor font family

{Theme.Fonts!MinorFont.Size}

Minor font size

{Theme.Fonts!MinorFont.Size}

Minor font style

{Theme.Fonts!MinorFont.Style}

Minor font weight

{Theme.Fonts!MinorFont.Weight}

Image Data *

{Theme.Images!.ImageData}

Image Mime Type

{Theme.Images!.MIMEType}

Constant value

{Theme.Constants("<1Constant Key>")}

*要使用主题中的图像,请将图像报表项Source的属性设置为。Database

风格属性

某些报表项具有该Style属性,这是设置多个基于主题的值的快捷方式。例如,TextBoxStyle的属性包含由空格分隔的三个值组成的项目列表,例如。如果您选择其中一项,则文本框将使用第一个值作为文本前景色 (fe ),使用第二个值作为背景色(fe ),第三个值作为字体属性(fe )。Light1 Accent1 MajorLight1Accent1Major

运行时主题解析

实际上,运行和导出报告或将报告加载到查看器组件中的应用程序应该在运行时解析主题。为此,您可以使用资源定位器功能。例如,您可以将*.rdlx-json-theme文件保存在应用程序的静态资产中,并在资源定位器实现的代码中返回其内容。也可以动态改变主题。访问现场演示以获取此方法的完整代码示例。