フィールドの編集可/編集不可を切り替えてみよう
前回は、フィールドの表示/非表示を切り替えるには、kintone.app.record.setFieldShown()というAPIを使うことを学びました。
今回は、フィールドを編集できるかどうかをカスタマイズで切り替える方法を学びます。
フィールドを編集できるかどうかはアクセス権で制御可能ですが、フィールドに入力された値を使って制御するにはカスタマイズが必要です。
動作イメージ
今回のカスタマイズを適用すると、レコード追加画面と編集画面で、「地域」の値に応じて「日当」が編集できるかどうかが切り替わります。
カスタマイズを適用するアプリ
次のフィールドを配置したアプリを作成します。
| フィールド名 | フィールドタイプ | フィールドコード | 備考 |
|---|---|---|---|
| 地域 | ドロップダウン | 地域 | 次の選択肢を設定する
|
| 日当 | 数値 | 日当 |
フィールドを編集不可にする
ドロップダウンの値に応じて、フィールドを編集不可に切り替えてみましょう。
実装するのは、「地域」に応じて「日当」のフィールドの編集可否を切り替えるカスタマイズです。
サンプルコード
|
|
ソースコードの解説
このカスタマイズのポイントは「フィールドを編集不可にする」です。
フィールドを編集不可にする
「地域」の値に応じて、「日当」のフィールドを編集不可に設定します。
フィールドを編集不可にするには、次の2つの手順が必要です。
- 編集不可に設定するフィールドの
disabledをtrueにする。 return eventする。
詳しく見ていきましょう。
特定のフィールドを編集不可にしたい場合には、フィールドのdisabledプロパティにtrueを設定します。
今回は「日当」フィールドを編集不可にしたいので、record[wageFieldCode].disabledにtrueを代入します。
なお、今回のカスタマイズでは、フィールドの編集可否を設定するだけでなく、同時にフィールドの値の書き換えも行っています。
|
|
編集可能にする場合はfalseを代入します。
|
|
disabledプロパティを設定できたら、kintone.events.on()の関数の最後でreturn eventして、フィールドの編集可否をレコードに反映させます。
|
|
まとめ
フィールドの編集可否には、イベントオブジェクトに含まれるレコード情報のフィールドのdisabledというプロパティを使うことを学びました。
次回は、 フィールドの装飾をしてみよう について学習しましょう。