テーブルパーツの明細内の最大値と最小値を取得するサンプルをご紹介します。
サンプルについて
本サンプルのソースコードについてや、カスタマイズ方法等の技術的なお問合せは承っておりません。利用するイベント
サンプルフォーム
パーツID | パーツタイプ | 補足 |
---|---|---|
- | テーブルパーツ | fidNumの1列 |
fidNum | テキスト(一行)パーツ | タイプ:数値型、テーブルパーツの1列目 |
fidMax | テキスト(一行)パーツ | タイプ:金額型 |
fidMin | テキスト(一行)パーツ | タイプ:金額型 |
カスタマイズコード
(function () {
'use strict';
// テーブルパーツの明細の値に変更があった場合、明細内の最大値と最小値を取得するイベント
collaboflow.events.on('request.input.fidNum.change', function (data) {
const parts = data.parts;
// 明細行の情報
// テーブルパーツのIDは「 tbl_ + テーブルパーツの配置順」
const tableRows = parts['tbl_1'].value;
const numArray = [];
const rowCount = tableRows.length;
// 明細内の数値を配列にする
for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {
const numValue = tableRows[rowIndex]['fidNum'].value;
if (numValue !== '') {
numArray.push(numValue);
}
}
// 最大値をfidMaxパーツに設定する
parts['fidMax'].value = numArray.reduce(function (a, b) {
return Math.max(a, b);
});
// 最小値をfidMinパーツに設定する
parts['fidMin'].value = numArray.reduce(function (a, b) {
return Math.min(a, b);
});
});
})();
動作の確認手順
- サンプルのカスタマイズコードをjsファイルに保存します。
- アプリ設定>フォーム設定から新規に通常フォームを作成します。
- サンプルフォームに、先で記載されている必要な項目を配置します。
- サンプルフォームを再度表示し、カスタマイズタブを表示します。
- 保存したファイルをアップロードします。
- アプリ設定>経路設定から新規に経路を作成します。
- 新規文書から作成した経路名をクリックします。
- 申請画面が表示されます。
- テーブルの明細に数字を入力します。
- 最大値と最小値が表示されます。
コメント
0件のコメント
記事コメントは受け付けていません。