計算式プラグインを使って、ボタンクリックでテーブル内項目の更新する例です。
概要
FSET 関数で、テーブル内項目を指定できるようになりました。
配列のループ処理ができる ARRAY_MAP 関数や、テーブルの集計関数の SUMIF 関数と FSET 関数を組み合わせて、テーブル内項目を更新できます。
※Ver.82 以降
「完了日時設定」で、作業ステータスが "完了"の場合、日時に現在時刻を設定します。
「完了日時設定2」も同様に作業ステータスが "完了"の場合、日時に現在時刻を設定しますが、計算式で使用している関数が異なります。
※計算式プラグイン Ver.82 以降で対応
操作例
アプリ設定
スペース項目を追加します。
ボタン用にスペース項目を要素IDをつけて設定
計算式プラグイン設定
- SP4: テーブル行のループ処理に ARRAY_MAP 関数を使用
- テーブル内項目の「日時」を参照するには、SUBTABLE 関数が必要
- 処理中のテーブル行位置は、idx
- SP5: テーブル行のループ処理に SUMIF 関数を使用
- SUMIF 内で、テーブル内項目の「日時」参照する場合は、そのまま「日時」でOK
- 処理中のテーブル行位置は、ROWNO(タスク)
.js
OPTION: 循環参照を許可
// SP4:(SP4) SPACER
BUTTON("完了日時設定",
ARRAY_MAP(TARRAY(作業ステータス),x,idx,
IF(AND(x="完了",SUBTABLE(日時,idx)=""),
FSET(日時,NOW(),idx)
)
)
)
// SP5:(SP5) SPACER
BUTTON("完了日時設定2",
SUMIF(AND(作業ステータス="完了",日時=""),
FSET(日時,NOW(),ROWNO(タスク))
)
)