Javascript による高度なプログラミング
4D View Pro エリアは、埋め込みWebレンダリングエンジン を使用する Webエリアフォームオブジェクト です。 つまり、他のWebエリアと同様に、WA Evaluate Javascript
4Dコマンドを呼び出すことで、Javascript のコードを実行させることができます。
4D View Proは SpreadJS スプレッドシートソリューション に基づいて動作するため、4D View Pro エリア内で SpreadJS の Javascriptメソッドを呼び出すことも可能です。
例題: リボンを非表示にする
4D View Pro は Webエリアであるため、Webページ要素を選択し、Javascript を使ってその動作を変更することができます。 以下の例では、spreadJS の リボン を非表示にしています:
// ボタンのオブジェクトメソッド
var $js; $answer : Text
$js:="document.getElementsByClassName('ribbon')[0].setAttribute('style','display: none');"
$js+="window.dispatchEvent(new Event('resize'));"
$answer:=WA Evaluate JavaScript(*; "ViewProArea"; $js)
SpreadJS の Javascriptメソッドの呼び出し
Javascript メソッドの SpreadJSライブラリを利用し、これらを直接呼び出してスプレッドシートを制御することができます。
4D は、4D View Pro エリア内のスプレッドシート (ワークブックとも呼ばれます) を指すビルトインの Utils.spread
式を提供しており、これを使うことでより簡単に SpreadJS の Workbookメソッド を呼び出すことができます。
例題
次のコードは、スプレッドシートでの最後のアクションを元に戻します:
WA Evaluate JavaScript(*; "ViewProArea"; "Utils.spread.undoManager().undo()")
4D View Pro Tips のリポジトリ
4D-View-Pro-Tips は GitHub のリポジトリで、フローティングピクチャーの管理、列や行のソート、カスタムカルチャの作成など、便利な機能を満載したプロジェクトが含まれています。 このリポジトリを自由にクローンして、プロジェクトで実験してください。