レポートデザイナの設定

レポートデザイナの実行ファイルと同じ場所にsetting.jsonというファイルを配置しておくと、 起動時に設定ファイルとして読み込まれます。 または、[-s]というオプションを用いることで任意のファイルを設定ファイルとして指定できます。

  reportdesigner -s 設定ファイル名

レポートデザイナの実行ファイルと同じ場所にextフォルダがあれば、設定フォルダと見なされます。 設定フォルダ内にjson拡張子のファイルを配置しておくと、設定ファイルとして読み込まれます。 [-e]オプションを用いることで、設定フォルダを指定することができます。

  reportdesigner -e 設定フォルダ名

設定ファイルの役割は、デフォルトでは用意されていない要素や式のメソッドなどを、 レポートデザイナから認識可能にすることです。 例えば設定ファイルに独自の要素の定義を書いておくことで、 レポートデザイナ上で要素の追加を行う際に選択肢に追加されます。 また、メソッドを定義することで、プレビュー時にメソッドが見つからないというエラーを防ぐことができます。

設定ファイルは、まず設定フォルダ内のjsonファイルがファイル名順で読み込まれ、 最後にsetting.jsonまたは[-s]で指定されたファイルが読み込まれます。 同じ要素に対する設定が衝突した場合は、先に読み込まれたほうだけが有効になります。

renderer.gdiに対応した要素レンダラやテキストフォーマッタなどの実装クラスを含むアセンブリ(dllまたはexe)を用意できる場合は、 設定フォルダ内に配置しておき、 設定ファイルからクラス名を指定することでデザイナ上で実際に描画される内容を確認できます。

設定フォルダに配置するアセンブリは、.NET Framework3.5を対象にビルドされたものである必要があります。 ただし、reportdesigner4.exeからレポートデザイナを起動すると、 .NET Framework4.0を対象にビルドされたアセンブリも利用することができます。

なお、ここで設定する内容はレポートデザイナ上でのみ有効だという点に注意してください。 実行時にはそれぞれの環境において、 帳票やレンダラのSettingに対し適切に設定を行う必要があります。

設定ファイル(setting.json)の内容

設定ファイルの内容はJSON形式で、 トップレベルのオブジェクトは以下のプロパティを持つことができます。

{
  element: [要素の設定],
  formatter: [テキストフォーマッタの設定],
  operator: [オペレータの設定],
  method: [メソッドの設定],
  font: [フォントの設定]
}

要素の設定(element)

独自の要素を利用する場合に指定します。 type以外は全て必要がなければ省略可能です。 properties内のvaluesとtypeはどちらか一つのみ指定します。 valuesを指定すると、用意された選択肢から値を選ぶプロパティになります。

[
  {
    type: 要素の種類を表すキー(必須),
    ja: 日本語での要素の種類名,
    class: GDI用要素レンダラの実装クラス名,
    pdf_class: PDF用要素レンダラの実装クラス名,
    xls_class: XLS用要素レンダラの実装クラス名,
    xlsx_class: XLSX用要素レンダラの実装クラス名,
    preprocessor_class: 要素プリプロセッサのクラス名,
    reversible: 高さまたは幅が負になることを許すか,
    properties: [
      {
        key: プロパティのキー(必須),
        values:  [選択肢の値,...],
        type: string|text|number|bool|font|formatter|layout|color|image,
        ja: 日本語でのプロパティ名,
        ime: デザイナ上でIMEをONにするか,
        help: ヘルプ文章,
	hidden: プロパティウィンドウで非表示にするか
      },
      ...
    ]
  },
  ...
]

テキストフォーマッタの設定(formatter)

独自のテキストフォーマッタを利用する場合に指定します。 type以外は全て必要がなければ省略可能です。 properties内のvaluesとtypeはどちらか一つのみ指定します。 valuesを指定すると、用意された選択肢から値を選ぶプロパティになります。

[
  {
    type: テキストフォーマッタの種類を表すキー(必須),
    class: テキストフォーマッタの実装クラス名,
    properties: [
      {
        key: プロパティのキー(必須),
        values:  [選択肢の値,...],
        type: string|text|number|bool|font|formatter|layout|color|image,
        ja: 日本語でのプロパティ名,
        ime: デザイナ上でIMEをONにするか,
        help: ヘルプ文章,
	hidden: プロパティウィンドウで非表示にするか
      },
      ...
    ]
  },
  ...
]

オペレータの設定(operator)

独自のオペレータを利用する場合に指定します。 classを省略すると、常にNULLを返すダミーのオペレータが利用されます。

[
  {
    key: オペレータ名(必須),
    class: オペレータの実装クラス名,
    help: ヘルプ文章
  },
  ...
]

メソッドの設定(method)

独自のメソッドを利用する場合に指定します。 classを省略すると、常にNULLを返すダミーのメソッドが利用されます。 contextを省略すると"any"が指定されたことになり、どこからでも呼べるメソッドとなります。 data_col_accessorは、プレビュー画面での列名推測で利用されます。

[
  {
    key: メソッド名(必須),
    class: メソッドの実装クラス名,
    data_col_accessor: パラメータでデータ列を受け取るか,
    context: any|content|page (呼び出し可能なコンテキスト)
    help: ヘルプ文章
  },
  ...
]

フォントの設定(font)

独自のフォントを利用する場合に指定します。 font_nameを省略すると、デザイナ上では「MS ゴシック」が利用されます。

[
  {
    key: フォント名(必須),
    font_name: 物理フォント名
  },
  ...
]