はじめに
この記事は、ページ内処理でkintoneのレコードを取得してシンプルテーブルウィジェット(以下、シンプルテーブルと記載)に表示し、そこに設置したボタンを押すことで、その行に対応するkintoneレコードを更新する方法について説明します。
この記事では、シンプルテーブルに設置した入力アイテムの値を使って更新します。
固定値で更新する場合の方法は次の記事を併せてご覧ください。
ページ生成時処理でkintoneのレコードを取得する場合の方法は次の記事を併せてご覧ください。
ページ生成時処理とページ内処理の違いについては次の記事を併せてご覧ください。
動作例
エブリサイトで作成されたページのシンプルテーブル内の「更新」ボタンを押すと、対応するkintoneアプリのレコードが更新されます。
エブリサイトで作ったサイト表示
kintoneレコード
エブリサイトの設定
今回の例で必要なページは1つです。
画面デザイン:シンプルテーブルウィジェットの設定
ウィジェットにはkintoneレコードの値を表示するためのテキストアイテム、
更新に使う文字列を入力するための文字列入力アイテム、
更新実行のためのボタンアイテムをそれぞれ設置します。
ページ内処理:ページを表示した時
アクション1で、やること「クエリで条件を指定して kintone からレコードを取得する」条件「ページを表示した時」でテーブルに表示するためのkintoneレコードを取得します。
アクション2は、1で取得したレコードを元にシンプルテーブルに「表示アイテムの内容をセットする」でフィールドの値をセットします。
アクション3、5はシンプルテーブル内の入力アイテムについての設定です。
まずアクション3の「テーブルやリストウィジェットから行を取り出す」でシンプルテーブルの行を1行ずつ取り出します。
次にアクション5の「アイテムを非表示にする」でアイテム「レコード番号入力」を非表示とします。
条件「リストから要素を取り出した時」を使うことで、シンプルテーブルの1行ずつに対して処理を行うことができます。
アイテム「レコード番号入力」は処理用に置いてあるものですので非表示としています。
※レコード番号について、テキストアイテムではなく文字列入力アイテムを利用する理由については後述します。
すべての行についてこの動作を行いたいので、アクション3の条件は「いずれかのアクションの実行が完了した時」として、アクション2と5の両方の後に動作するようにしています。
ここまでで、kintoneのレコードを取得し、シンプルテーブルに値をセットして表示することができます。
(下記図は、わかりやすいようにアイテム「レコード番号入力」を表示状態にしています)
ページ内処理:ボタンを押した時
ボタンを押して更新処理をしている間はユーザーに操作させたくないため、「処理中表示を行う」「処理中表示を終了する」を使っています。
「ボタンを押した時」に更新先のレコードを特定するため、ボタンを押した行のシンプルテーブル内のレコード番号の値を利用したいのですが、取得できるのは”入力アイテム”のみになります。
そのため、アクション2でシンプルテーブル内のアイテム「レコード番号入力」にレコード番号をセットするようにしました。
アクション9で「kintone のレコードを更新する」でレコードを更新します。
キーとなるレコード番号の値は、シンプルテーブル内のアイテム「レコード番号入力」の値を利用します。
= ${レコード番号入力}
マッピングでは、同じくシンプルテーブル内のアイテム「文字列入力」の値をマッピングします。
最後に「ページをリロードする」で画面のリロードを行い、kintoneレコードの更新結果を反映した表示にします。
まとめ
以上がエブリサイトのページ内処理で、シンプルテーブルに表示したkintoneのレコードについてボタンを押した行だけ更新する例でした。







