(著者:サイボウズ 酒井 康晴)
はじめに
こんにちは、kintone開発チームの酒井です。
今回は、JavaScriptカスタマイズでテーブルの初期値を設定する方法を紹介します。
サンプルアプリ
サンプルアプリは以下のフィールドをテーブルに配置しましょう。テーブルのフィールドコードはデフォルトの「テーブル」のままです。
フィールドタイプ | フィールド名 | フィールドコード |
数値 | Number | Number |
文字列(1行) | Tips | Tips |
サンプルプログラム
このアプリに、以下のサンプルプログラムを読み込ませます。
実行結果
では、レコードを追加してみましょう。
このように、レコード追加時にテーブルへ値を入れることが出来ました!
めでたし、めでたし!
他にも…
今回はapp.record.create.showイベントでしたが、app.record.edit.showイベントやchange系イベントにも対応しています。
ですので、編集画面を開いたらテーブルの行を追加/削除したり、ラジオボタンの変化で行を追加/削除したりもできます。
このTipsが、皆様の参考になりましたら幸いでございます。
このTipsは、2022年10月版 kintoneで確認したものになります。
一覧画面が表示された時に、このような動きをさせる方法はございますでしょうか?
フィールドタイプがルックアップの場合、
①上記サンプルで参照文字をセットした後に
②「参照の実行」も併せて
したい場合、どうやって記述すればいのか教えて欲しい
k_soda様
現在開いてるレコードに値をセット、自動ルックアップの関数を使うといいかと思います。
「自動ルックアップで名入れレコードを作る」の記事が参考になるかと思います。ご確認ください。
https://cybozudev.zendesk.com/hc/ja/articles/211429603
早々のコメントありがとうございます。
lookuプロパティで指定できるのですね。
createValue_関数内で以下のように追記したらばできました。
<ルックアップフィールド>: {
'type': 'SINGLE_LINE_TEXT',
'value': 'テスト',
'lookup':true
}
テーブル内のフィールドタイプがチェックボックスの場合、エラーが発生していまいます。
テーブル内のフィールドタイプがチェックボックスの場合はどの様に記述すればよいか教えて頂けますでしょうか。
t_honda 様
フィールド形式 の「チェックボックス」に書かれている通り、
チェックボックスは複数選択可能なため配列形式で値を持ちます。
下の例のように、[ ] をつけてvalueをご指定下さい。
cybozu Development team 様
早速のご回答ありがとうございます。
しかしながら、フィールドコードがチェックボックスの部分を以下の様に配列形式で記述したのですがエラーが出てしまいます。
createValueで指定した書式が太字+斜体で記述した部分が配列形式でなく問題があるかと思いますが、いろいろ試したのですが
対策が分かりません。
プログラミング初心者のため、初歩的な部分が分かっていなくて申し訳ございませんがご教授お願い致します。
以下、コード
ーーーーーーーーーーーーーーーーー
(function() {
'use strict';
kintone.events.on('app.record.create.show', function(event) {
// 行の作成
var newRow1 = createValue_('1', 'テーブルは、行を追加/削除することができます','1','');
var newRow2 = createValue_('2', 'javascriptカスタマイズでも出来るようになりました','','1');
// Tableに初期値を定義する
event.record.Table.value = [
newRow1,
newRow2
];
return event;
});
function createValue_(number, text, textA, textB) {
return {
'value': {
'Number': {
'type': 'NUMBER',
'value': number
},
'Tips': {
'type': 'SINGLE_LINE_TEXT',
'value': text
},
'Check_box': {
'type': 'CHECK_BOX',
'value': [
textA,
textB
]
}
}
};
}
})();
t_honda 様
チェックボックスの選択肢として「A」と「B」が設定されていますが、
コードでは「1」をチェックボックスにセットしようとしていますね。
選択肢として選べない値をセットしようとしているため、「不正です」というエラーが出ています。
createValue_ にチェックボックス用の値を渡す際は、引数一つにまとめて、
下記のような形で指定するのがする方が良いのではと思います。
また、こちらは記事のフィードバックを頂く場所となっていますので、
コードの書き方のご質問につきましては、ぜひコミュニティ(初心者向けフォーラム等)をご活用頂けますと幸いです。