[{"id":"08e0fe96-3025-463b-bcee-87f4b29c462b","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"0d5035e7-1a53-4dc5-b32e-9ce261bfa47e","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"2fb2b485-f567-436c-9ca9-06dd71ceadb3","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"c1466f0c-9710-41d3-9812-c7321630328a","tags":[{"product":null,"links":null,"id":"e1d31134-0bda-4c05-bee0-b1f21f82940b","name":"new","color":"#00A273","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"b0e616b5-b520-405e-b108-e81363a8dd74","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"f5712fda-d364-4652-9783-3073e2560b97","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"8f03c498-1e02-459a-a6de-ee619033d6d2","tags":[{"product":null,"links":null,"id":"92283933-94f9-4e9a-8d93-15ba4ec8b3ec","name":"upd","color":"#7e678a","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"2b701643-01a1-40e0-b49b-0a6e93c1f847","tags":[{"product":null,"links":null,"id":"e1d31134-0bda-4c05-bee0-b1f21f82940b","name":"new","color":"#00A273","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]},{"id":"07b4f367-7ddc-4c8a-932c-b180f112364e","tags":[{"product":null,"links":null,"id":"e1d31134-0bda-4c05-bee0-b1f21f82940b","name":"new","color":"#00A273","productId":"77f3d9a0-2c87-4130-b77a-b94ccf13e3cb"}]}]
レポートに新しいコントロール(TextBoxなど)を追加すると、そのレポートコントロールのプロパティに自動的にデフォルト値が設定されます。たとえば、Textboxをレポートに追加すると、フォント名がArial、フォントのサイズが10pt、およびフォントのスタイルがNormalに自動的に設定されます。これらのデフォルト値を変更するには、次の方法を実行します。
レポートアイテムテンプレートは、目的の値をレポートコントロールのデフォルト値として設定したレポートです。デザイナアプリを使用してレポートアイテムテンプレートを作成できます。たとえば、TextBoxのデフォルトのフォント名を 「Times New Roman」 に設定するには、TextBoxをテンプレートレポートに追加して、フォント名を設定できます。
新しく追加されたレポートコントロールには、フォント名などのさまざまなスタイルプロパティに加えて、デフォルトの位置とサイズが設定されます。位置とサイズは、レポートデザイナの右下隅にある寸法の単位に応じて、ヤードポンド法またはメートル法のいずれかで定義できます。
また、ヤードポンド法またはメートル法の両方のレポートアイテムテンプレートを作成することもできます。アプリケーションでは単一の寸法の単位のみを使用する場合は、対応する単一のレポートアイテムテンプレートを作成することも可能です。
ActiveReportsJSは、ページレポートおよびRDLレポートの両方のレポートレイアウトをサポートしています。たとえば、ページレポートでサポートされているデフォルトのレポートアイテムプロパティ(固定サイズなど)を定義するには、ページレポートのレポートアイテムテンプレートを作成できます。
要約すると、作成できる4つのレポートアイテムテンプレートがあります。
ヤードポンド法を使ったページレポート
ヤードポンド法を使ったRDLレポート
メートル法を使ったページレポート
メートル法を使ったRDLレポート
レポートテンプレートを作成したら、アプリケーションのコードで次のようなオブジェクトを初期化できます。ReportInfoオブジェクトについては、「レポートの読み込み」を参照してください。
const reportItemTemplates = {
imperialTemplates: [
cplImperialReportTemplateInfo, // ヤードポンド法を使ったRDLレポートのレポートアイテムテンプレートのレポート情報
fplImperialReportTemplateInfo // ヤードポンド法を使ったページレポートのレポートアイテムテンプレートのレポート情報
],
metricTemplates: [
cplMetricReportTemplateInfo, // メートル法を使ったRDLレポートのレポートアイテムテンプレートのレポート情報
fplMetricReportTemplateInfo // メートル法を使ったページレポートのレポートアイテムテンプレートのレポート情報
]
}
たとえば、Reactアプリのパブリックフォルダなど、アプリケーションの静的アセットフォルダ内にレポートテンプレートを保存してから、コードで次のオブジェクトを初期化できます。
const reportItemTemplates = {
imperialTemplates: [
{id: "cpl-template-imperial.rdlx-json"}, // ヤードポンド法を使ったRDLレポートのレポートアイテムテンプレートのURL
{id: "fpl-template-imperial.rdlx-json"} // ヤードポンド法を使ったページレポートのレポートアイテムテンプレートのURL
],
metricTemplates: [
{id: "cpl-template-metric.rdlx-json"}, // メートル法を使ったRDLレポートのレポートアイテムテンプレートのURL
{id: "fpl-template-metric.rdlx-json"} // メートル法を使ったページレポートのレポートアイテムテンプレートのURL
]
}
たとえば、ユーザーがヤードポンド法みを使用し、TextBoxコントロールのデフォルトのフォント名を設定したいとします。その場合、reportItemTemplatesオブジェクトには、次の1つのレポートアイテムテンプレートの参照のみを含めることができます。
const reportItemTemplates = {
imperialTemplates: [
{id: "default-template.rdlx-json"}, // ヤードポンド法を使ったRDLレポートのレポートアイテムテンプレートのURL
]
}
Angularデザイナコンポーネント、Reactデザイナコンポーネント、Vueデザイナコンポーネント、Svelteデザイナコンポーネントを使用する場合は、customInitTemplatesオブジェクトを含むDesignerConfigオブジェクトを返す関数に解決されるonInitプロパティを利用できます。
import { Designer } from "@mescius/activereportsjs-react";
const reportItemTemplates = {
imperialTemplates: [
{id: "cpl-template.rdlx-json"}
]
}
function onInit(){
return { customInitTemplates: reportItemTemplates }
}
function App() {
return (
<div id="designer-host">
<Designer onInit={onInit} />
</div>
);
}
JavaScriptアプリケーションでは、MESCIUS.ActiveReportsJS.ReportDesigner.Designer
クラスのコンストラクタは、2番目のオプションの引数としてcustomInitTemplatesプロパティを含むDesignerConfigオブジェクトを受け入れます。
var designer = new MESCIUS.ActiveReportsJS.ReportDesigner.Designer(
"#designer-host",
{ customInitTemplates: reportItemTemplates }
);
詳細については、「レポートアイテムテンプレート」デモを参照してください。