Intra-Mart Formaで子画面のグリッド情報を親画面に返す方法

IT記事

画面によって子画面からリストを選択して、選択したデータを親画面のリストに持っていくみたいなのがあるかと思います。
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);
       };
    };
};

コメント

タイトルとURLをコピーしました