kintoneでアプリを作っていると、レコード内にテーブルを作ることがよくあると思います。 そういったときに、テーブルの各行に連番をつけたくなりませんか?
これをやるには簡単なJavaScriptで処理してやる必要があります。
デモ環境
デモ環境で実際に動作を確認できます。
https://dev-demo.cybozu.com/k/77/
ログイン情報は cybozu developer networkデモ環境 で確認してください。
サンプルアプリの構造
テーブルに「数値」フィールドを設置します。
数値フィールドのフィールドコードを「no」とし、テーブルのフィルドコードは「receipts」とします。
イベントの登録と値の更新
作成と編集のときの「保存前」のタイミングでイベントを取得します。
|
|
そして、そのイベントの中で行数を取得します。
|
|
得られた行数でループして連番を付与していきます。
|
|
コード全体は以下のようになります。
|
|
簡単ですね。
保存前の処理は何かとよく使うので、このイベントの取得とレコードの内容へのアクセス方法をマスターしておくと応用が効きますね。
動作確認
それでは、サンプルコードをアプリに適用して動作を確認してみます。
新規レコードを追加する際、試しにテーブルの行を6行にして追加してみます(データは空)。
「保存」ボタンを押すとJavaSciriptを実行し、行に連番をつけます。
無事に連番が振れましたね。
今回は、レコード追加時のイベント処理しかキャプチャは載せていませんが、レコード編集完了時にもJavaScriptの処理は実行されるので、都度連番を振り直すことができます。
ぜひお試しください。
このTipsは、2022年10月版kintoneで動作を確認しています。