テーブルフィールドにカスタマイズ列を作成する
警告
このページで説明しているAPIは、開発を検討中のAPIです。
アップデートオプション内の「検討中の新機能」から動作をお試しいただけます。
設定方法は、
新機能の有効/無効の切り替え手順
を参照してください。
APIに関するフィードバックを、ユースケースとともに、
kintoneの改善に協力する
フォームへぜひご登録ください。
フィードバックの例
- 「APIラボで提供されているAPIを早く本番環境で利用したい」
- 「こういう用途で使うために、このようなAPIを提供してほしい」
テーブルフィールドにカスタマイズ列を作成する
指定したテーブルフィールドに、カスタマイズ列を作成します。
カスタマイズ列は、テーブルのヘッダーおよび各行のセルに、APIから指定した内容を表示できる機能です。
作成したカスタマイズ列は、戻り値のオブジェクトを使って更新、または削除できます。
利用するには、検討中の新機能の「JavaScript API:テーブルの行へのID付与、テーブル操作時のイベント発生、およびテーブル操作用APIを追加する機能」を有効にしてください。
このAPIは非同期なAPIです。
同期的に処理したい場合は、次のページを参照してください。
関数
PC
kintone.app.record.createCustomTableColumn(fieldCode, config, insertPosition)引数
| 引数名 | 型 | 必須 | 説明 |
|---|---|---|---|
| fieldCode | 文字列 | 必須 | カスタマイズ列を作成するテーブルのフィールドコード |
| config | オブジェクト | 必須 | カスタマイズ列の設定 すべてのプロパティを省略する場合は、空のオブジェクトを指定します。 |
| config.header | オブジェクト | 省略可 | ヘッダーの設定 |
| config.header.label | 文字列 | 省略可 | ヘッダーに表示するラベル 省略した場合、ヘッダーには何も表示されません。 |
| config.body | 配列 | 省略可 | 各行のセルの設定 行ごとにオブジェクトを指定します。指定しなかった行のセルは空になります。 |
| config.body[].rowId | 文字列 | 必須 | セルの内容を設定する行のid |
| config.body[].contents | 配列 | 必須 | セルに表示する内容 複数指定した場合は、横に並べて表示されます。空の配列を指定した場合、セルは空になります。 |
| config.body[].contents[].type | 文字列 | 必須 | 表示する内容の種類BUTTON(ボタン)を指定します。 |
| config.body[].contents[].text | 文字列 | 省略可 | ボタンに表示するテキスト |
| config.body[].contents[].description | 文字列 | 省略可 | ボタンの説明 ボタンにマウスカーソルを合わせたときに表示されます。 |
| config.body[].contents[].disabled | 真偽値 | 省略可 | ボタンを無効にするかどうか 省略した場合は false(有効)です。 |
| config.body[].contents[].onClick | 関数 | 省略可 | ボタンをクリックしたときに実行する関数 引数として、クリックした行の idをもつオブジェクト({rowId: "行のid"})が渡されます。関数の実行中、ボタンは無効になります。関数がPromiseオブジェクトを返す場合は、Promiseオブジェクトが解決または拒否されるまで無効のままです。 |
| insertPosition | 文字列 | 省略可 | カスタマイズ列を挿入する位置 次のいずれかの値を指定します。
#LASTです。レコード追加画面とレコード編集画面で #LASTを指定すると、行の追加ボタンと削除ボタンの列の手前に挿入されます。 |
戻り値
戻り値はPromiseオブジェクトです。
Promiseオブジェクトの解決時に次の要素をもつオブジェクトが取得できます。
| プロパティ名 | 型 | 説明 |
|---|---|---|
| columnCode | 文字列 | カスタマイズ列を識別する文字列insertPositionに指定すると、このカスタマイズ列の直後に別のカスタマイズ列を作成できます。 |
| update | 関数 | カスタマイズ列の設定を更新する関数 詳細は、次を参照してください。 カスタマイズ列の設定を更新する |
| remove | 関数 | カスタマイズ列を削除する関数 詳細は、次を参照してください。 カスタマイズ列を削除する |
カスタマイズ列の設定を更新する
kintone.app.record.createCustomTableColumn()が返したPromiseオブジェクトの解決時に得られるupdate()関数により、作成したカスタマイズ列の設定を更新できます。
関数
update(config)引数
引数のconfigは、カスタマイズ列を作成するときのconfigと同じ形式です。
指定したプロパティだけが更新され、省略したプロパティは変わりません。
config.header.labelを指定すると、ヘッダーのラベルが置き換わります。config.body[]に指定した行は、セルの内容がcontentsの内容に置き換わります。指定しなかった行のセルは変わりません。- 画面に存在しない行の
idを指定した場合、その行の指定は無視されます。
戻り値
戻り値はPromiseオブジェクトです。
Promiseオブジェクトの解決時に値は返りません。
削除済みのカスタマイズ列に対して実行した場合は、何もせずに解決します。
カスタマイズ列を削除する
kintone.app.record.createCustomTableColumn()が返したPromiseオブジェクトの解決時に得られるremove()関数により、作成したカスタマイズ列を削除できます。
関数
remove()引数
なし
戻り値
戻り値はPromiseオブジェクトです。
Promiseオブジェクトの解決時に値は返りません。
削除済みのカスタマイズ列に対して実行した場合は、何もせずに解決します。
利用できる画面
PC
- レコード追加画面
- レコード編集画面
- レコード詳細画面
- レコード印刷画面
サンプルコード
カスタマイズ列を作成する
次のコードは、レコード詳細画面を表示したときに、テーブル(フィールドコード:テーブル)の末尾に「操作」列を作成する例です。
各行に「コピー」ボタンを表示し、クリックするとその行の文字列1行(フィールドコード:文字列__1行)の値をクリップボードにコピーします。
|
|
カスタマイズ列を更新、削除する
次のコードは、作成したカスタマイズ列のヘッダーのラベルをupdate()で更新してから、remove()でカスタマイズ列を削除する例です。
|
|
注意事項
- カスタマイズ列は、画面の表示だけを変更します。レコードのデータには保存されません。
- 行を追加、削除、または並べ替えると、カスタマイズ列のセルも行に追従します。
追加した行のセルは空です。内容を表示するには、update()で追加した行のidを指定してください。 - 画面を再描画する操作(レコード詳細画面と編集画面の切り替え、前後のレコードへの移動、再読み込みなど)を行うと、カスタマイズ列は削除されます。
