画面によって子画面からリストを選択して、選択したデータを親画面のリストに持っていくみたいなのがあるかと思います。
Intra-MartでもJavaScriptをゴリゴリを書く形になりますが、同様の処理が可能になります。
以下のForma子画面があるとして、親画面反映ボタンに対してカスタムスクリプトを記述することで、親画面にそのままリストを反映可能です。
ボタンに対するカスタムスクリプトは以下。
参考程度にどうぞ。
// グリッドテーブル要素(IDは親画面と子画面で一致させる)
var target_table = $('#gt1');
var aa = target_table.getGridParam('selarrrow'); // 複数選択行取得
var arrrows = target_table.getRowData();
var max = 1;
for(i=0; i < arrrows.length; i++){
var cur = parseInt(arrrows[i].imfrRowIdCel);
if(max <= cur){
max = cur + 1;
}
}
if(aa.lengtg == 0){
// グリッドが空の場合の処理
} else {
for(var i = 0; i < aa.length; i++){
var obj = target_table.getRowData(aa[i]);
var tmpData = {};
tmpData.rowID = max;
tmpData.imfrRowIdCel = max;
tmpData.imfrRowIdCelSub = max;
// グリッドの重複チェック
max = max + 1l
if(status){
target_table.addRowData(undefined, tmpData);
};
};
};
コメント