こんにちは!
おそらく私の今年のkintone記事マラソンは今日でおしまい✨
今年最後はテーブルのフィールドのちょっとした小技を書いて終わりたいと思います。
devnetをサーフィン(?)していてチラホラ見かけた質問たちが元ネタであります・・・。
答えを書いてしまいたいけど、コミュニティの方針上、答えをズバリと書くのは良くない気がしていまして。
「困った」で検索して引っかかるような、ちょっとしたTips記事になったら良いなぁみたいな淡い欲望から書いております。
アプリの準備
アプリストアから「案件管理」をサンプルデータ込みで追加して試してね。
活動履歴テーブルを使うよ!
テーブルのフィールド編集不可にする
1行目のメモ(フィールドコードは文字列__1行__2)を編集不可にするにはこう。
disabledをtrueにすると編集不可になります。
//編集不可
kintone.events.on(['app.record.edit.show', 'app.record.create.show'], event => {
//1行目
event.record.活動履歴.value[0].value.文字列__1行__2.disabled=true;
return event;
});
全部の行のメモを編集不可にするには、こう(1例です)!
kintone.events.on(['app.record.edit.show', 'app.record.create.show'], event => {
//全行
event.record.活動履歴.value.forEach(v =>{
v.value.文字列__1行__2.disabled=true;
});
return event;
});
テーブルのフィールドに値が入っていたらエラーを出す
保存のタイミングで値が入っていたらエラーをだしたいという場合はこんな感じ。
errorになにか文字列を入れておきましょう。
//入力禁止
kintone.events.on(['app.record.edit.submit','app.record.create.submit'],event=>{
//2行目
if(!!event.record.活動履歴.value[1].value.文字列__1行__2.value){
event.record.活動履歴.value[1].value.文字列__1行__2.error = "入力禁止";
}
return event;
})
全部の行チェックしたい場合はこう!
kintone.events.on(['app.record.edit.submit','app.record.create.submit'],event=>{
//全行
event.record.活動履歴.value.forEach(v =>{
if(!!v.value.文字列__1行__2.value){
v.value.文字列__1行__2.error = "入力禁止";
}
});
return event;
})
そしてこうなった!
八方塞がり\(^o^)/
まとめ
使い方を誤ってしまい、何もできないアプリを作り出してしまった・・・。
JavaScript使うときはこんな事にならないように気をつけましょうっ!
というわけで、良いお年をお過ごしください^0^!