いつもお世話になっております。
先週22日に行われた「kintone hive」に参加させていただき、大変勉強になりました。このような場が活発に開かれることを、今後とも期待しております。
さて、上記タイトルの通り、【kintone】の詳細画面での編集についてご質問いたします。
会員情報をまとめているアプリがあるのですが、一つのレコードあたりのフィールドが多くなっています。詳細画面からデータを編集する際、一度入力したフィールドの中には、その後変更しないものもございます。例えば、
「性別」
「生年月日」
などです。
詳細画面から編集する際、変更しないフィールドを非表示にすることはできますでしょうか?もちろん、詳細画面を表示した際(編集画面ではない)は、全フィールドを表示しておきたいです。
ご教授のほど、よろしくお願いいたします。
菅原尚哉さん
「詳細画面から編集」というのが、所謂レコード詳細画面から編集ボタンを押して遷移したレコード編集画面としますと、kintone.app.record.setFieldShown()
はご存知かと思いますが、・・・
対象としているフィールド形式(ラジオボタンとかはこちらのアイディアを組み合わせる等)によりますが、入力済みか否かで
kintone.events.on(['app.record.create.show, app.record.edit.show'], function(event) {
var record = event.record;
var field_show_flag = true;
if(record['field_code']['value'] != undefined){
field_show_flag = false;
}
kintone.app.record.setFieldShown('field_code', field_show_flag);
return event;
});
のようにするのはいかがでしょうか。
菅原尚哉さん
cstapの落合です。
この場合は、フィールドの表示/非表示を切り替える を使うといいでしょう。
サンプルを載せますので、参考にして下さい。
(function() {
'use strict';
var disabledFields = [
'string1',
'リッチエディター',
'文字列__複数行_'
];
kintone.events.on('app.record.edit.show', function(event) {
var record = event.record;
for (var i = 0, l = disabledFields.length; i < l; i++) {
kintone.app.record.setFieldShown(disabledFields[i], false)
}
return event;
});
})();
山下 さま
落合 さま
早速のご連絡、誠にありがとうございました。
サンプルコードも載せていただき、感謝申し上げます。
今後とも、よろしくお願いいたします。