kintoneと連携するkviewerとformbridgeで、Subtable中のカラムを動的に非表示できる方法を、教示願います。
というのは、kintoneで定義したSubtableが10カラムあって、kviewerやformbridgeのブラウザ画面では横スクロールが発生するのを避ける為に、Subtableの外の項目の値によって動的にSubtableのカラムを絞って表示したいと思っています。
ところが、kv.detail.getTableElementsByCode(tableCode, columnCode)やfb.getTableElementsByCode(tableCode, columnCode)では、tbody内のtrの個数に応じたDOM-elementが返されるものの、thead内のtrに対応するDOM-elementを得ることができない為、列単位に非表示にすることができませんでした。
あるいは、「そうゆう機能は 無いと断言できる根拠と、機能追加要望を出すための テクニックや要望先経路」をアドバイスしていただくだけでも構いません。
ちなみに、formbridgeで、Subtable中の特定カラムの中のimputタグ部を動的に入力禁止にすることは、下記のコードで出来ています。
下記のコードでも、formbridgが展開するsubtableの行の中のセルの中のel-inputやel-input__innerの構造に依存しているにも関わらず、ドキュメント記載されていないインタフェースにつき、formbridgeのバージョンアップ時に動作しなくなるリスクのある危ういコードだと思います。
function setInput\_for\_tableCol(tableCode, columnCode, isNotDisable) {
const tdFieldsEl2 = fb.getTableElementsByCode(tableCode, columnCode)
console.log("at setInput\_for\_tableCol", tableCode, columnCode, isNotDisable, tdFieldsEl2)
if (tdFieldsEl2 && tdFieldsEl2.length \> 0) {
tdFieldsEl2.forEach(tdFieldsEl1 =\> { // tbody内のtrの個数回 繰り返す。 thead内のtrは含まれない。
try {
tdFieldsEl1.children[0].children[0].disabled = !isNotDisable; // el-input -\> el-input\_\_inner
console.log(tdFieldsEl1.children[0].attributes['data-vv-name'].nodeValue)
} catch (err3) {
}
})
}
}