4D Write Pro: 空のデータソースを管理する!

4D Write Pro表組みは、データソースから自動的に値を取得することができるため、これを可能な限りパーソナライズする多くの機能が追加されています。データソースにリンクされたフォーミュラ、ブレーク行下部キャリーオーバー行などはその一部です。

4D 20 R6 では、新しい属性 (wk empty datasource) の追加により、表組みの動作が改良されました。この属性で、リンクされたデータソースが空の場合の表組みの描画方法を定義することができ、ドキュメントの表示をより細かく制御することができます。

HDI: 空のデータソースの表組みを管理

新しい表組みの属性: wk empty datasource

この新しい属性は、関連するデータソースが空の場合の表組みの動作を定義します (表ごとに異なる設定が可能です)。この属性は、データソースが表組みに関連付けられている場合にのみ考慮され、そうでない場合は無視されます。同様に、データソースが空の場合にのみ考慮されます。

次のオプションが利用可能です:

  • データ行を表示 (デフォルト)
  • データ行を非表示
  • 表組を非表示
  • プレースホルダー行を表示

データソースが空の場合でも、ヘッダー行 (最大5行) とデータ行に続く行 (データ行とは、データソースの各要素に対して繰り返される行) を表示したい場合があります。この “データ行を非表示” オプションが選択された場合、データ行とブレーク行 (あれば) は表示されません。

WP SET ATTRIBUTES($table; wk empty datasource; wk hide data row)

また、データソースが空の場合、その表組みは不要かもしれません。この場合は、表そのものを非表示にできます。

WP SET ATTRIBUTES($table; wk empty datasource; wk hide table)

また、データソースが空の場合には、せめて通常のデータ行の代わりに、この目的のために特別に設計されたプレースホルダー行を表示したいかもしれません。

WP SET ATTRIBUTES($table; wk empty datasource; wk show placeholder row)

すべてのオプションを満遍なく提供するため、データ行をそのまま表示する wk show data row という4つ目のオプションが用意されています。このオプションはデフォルト値で、WP RESET ATTRIBUTESコマンドで属性をリセットした場合に使用されます。

WP SET ATTRIBUTES($table; wk empty datasource; wk show data row)
 // 上と下のコードは同義です
WP RESET ATTRIBUTES($table; wk empty datasource)

インポート/エクスポート

新しい属性にどのような値が選ばれても、いずれのエクスポート形式を選択しても、書き出し時に適用されます。

Docx、HTML、SVG、PDF… いずれの場合においても、表組みは選択されたオプションに応じて表現されます (または表示されません)。

表ウィザードの改良

表ウィザードを覚えていますか? もし覚えていなければ、一度も使ったことがないかもしれません。過去のブログ記事で詳細をご覧ください!

表ウィザードにも新しいインターフェース項目が追加され、この設定を定義することができます!

“プレースホルダー行を表示” を選択すると、ウィザードは自動的に [D’] というラベルの新しい行を追加します!

プレースホルダー行の外観は、テーマの JSONファイル (Resourcesフォルダー内) に新しい “placeholder” 項目を追加することで定義できます。

"placeholder": {
    "color": "#202020",
    "fontSize": "10pt",
    "backgroundColor": "yellow"
}

コンテキストメニューで挿入できるフォーミュラも同様です。placeholderFormulas という新しい項目が、Resourcesフォルダー内の “templates” JSONファイルに定義されています。

"placeholderFormulas": [
    {
        "label": "Count",
        "source": "This.tableData.count()"
    },
    {
        "label": "Current date",
        "source": "Current date"
    }
]

まとめ

この新機能により、4D Write Pro は、よりダイナミックで情報量の多い文書を作成できるようになりました。ぜひ、4Dフォーラムで感想や経験を共有してください!

Roland Lannuzel
- プロダクトオーナー&4Dエキスパート -電子工学を学んだ後、産業用ITの分野で開発者兼コンサルタントとして、さまざまなデータベースやテクノロジーを使って顧客のためのソリューションを構築。80年代後半に4Dに惚れ込み、会計、請求書作成、メールシステムなどのビジネスアプリケーションの作成に4Dを使用してきました。現在も、新機能やデータベース開発ツールの定義など、4Dの未来を積極的に切り開いています。