お世話になります。
詳細画面のサブテーブルの表の各セルについて、
入力した値によって背景の色や文字の色を変えたいと思って入りますが
技術的には可能でしょうか??
もし、可能であれば、ヒントをいただけると幸いです。
なお、サブテーブルの値の取得はなんとかできましたが
それを元に、セルの色を変えたいのですがどうやって該当セルを
指定していいのかわからない状態です。
よろしくお願いいたします。
お世話になります。
詳細画面のサブテーブルの表の各セルについて、
入力した値によって背景の色や文字の色を変えたいと思って入りますが
技術的には可能でしょうか??
もし、可能であれば、ヒントをいただけると幸いです。
なお、サブテーブルの値の取得はなんとかできましたが
それを元に、セルの色を変えたいのですがどうやって該当セルを
指定していいのかわからない状態です。
よろしくお願いいたします。
今回はサブテーブルとのことですが、関連レコードで表示している項目の幅調整についてで回答されている方法と同様の方法で対応できると思います。
thをfindしているところをtdに変え、style.color等を指定するという方法になります。いかがでしょうか?
ご回答ありがとうございます!
実際に試してみましたがうまくいきませんでした。
getFieldElementですがドキュメントに「サブテーブルに含まれるフィールド」には使用できない旨が書いてありましたがサブテーブル自体のフィールドを取得できるという認識で大丈夫でしょうか?
すみません。tdはDOMが展開される前に実行になって難しそうですね。
getFieldElementですがドキュメントに「サブテーブルに含まれるフィールド」には使用できない旨が書いてありましたがサブテーブル自体のフィールドを取得できるという認識で大丈夫でしょうか?
こちら、記載の通りだと思います。ちょっと苦しいですが、
var subtable = kintone.app.record.getFieldElement('サブテーブル');
の後に
($(subtable).find(‘td’))[0] 等の有無をループでチェックする方法や
setTimeout(function(){
},100);
に挟んで、サブテーブルの展開を待って実行する等の方法が考えられそうですが、行数が多い時には更に工夫が必要そうですね。
ご教授大変助かります。ありがとうございます。
こちらの方法で試行錯誤してみたいと思います。
取り急ぎお礼のご連絡まで
ありがとうございました!
なんとか教えていただいた方法で実装できました!
ありがとうございました。
”サブテーブルの展開を待って実行する等の方法が考えられそうですが、行数が多い時には更に工夫が必要そうですね。”
についてですが、現在setTimeoutで遅延して処理を実行していますが、レコードの描画が終わったら、処理するみたいな方法はないという認識ですよね。。。
この種のトピックは一般的には、
document.addEventListener("DOMContentLoaded",function(){},false);
の類で解決できたりするのかなぁと思うのですが、これがまずkintoneでは発火しない?ようですね。
予めサブテーブルの長さがわからなければ、現実的にはtd[0]を確認後タイマーを入れてという合わせ技になるのかと思います。
早々にご回答ありがとうございました。
やはりテクニックが必要になるみたいですね。
参考になりました!ありがとうございます。
ちょっと中途半端な感じになり申し訳ないです。