KendoUI 階層グリッドを使用して親子データを表示しています。
すべてを適切に入力してグリッドにデータを入力することはできますが、親データに対応する子レコードがない場合があります。
この場合、子グリッド ヘッダーは対応するレコードが表示されずに表示されたままになります。グリッドを完全に非表示にするか、少なくともヘッダーを表示しないようにしたいと思います (ほとんど同じものをレンダリングします)。
何か案は?
KendoUI 階層グリッドを使用して親子データを表示しています。
すべてを適切に入力してグリッドにデータを入力することはできますが、親データに対応する子レコードがない場合があります。
この場合、子グリッド ヘッダーは対応するレコードが表示されずに表示されたままになります。グリッドを完全に非表示にするか、少なくともヘッダーを表示しないようにしたいと思います (ほとんど同じものをレンダリングします)。
何か案は?
コードを共有しなかったため、現在の設定が正確に何であるかをよりよく理解できます-構成に応じて異なるアプローチがあります.
子レコードがあるかどうかを判断するために使用できるマスター グリッド モデルのプロパティはありますか?
そのようなプロパティがない場合は、子グリッドを初期化する必要があり、リクエストを実行する必要があります。応答に基づいて、dataBoundイベントを使用し、レコードがない場合はグリッドを非表示にすることができます。または、反対のことを行うこともできます。最初はグリッドを非表示にして、 dataBoundイベントが発生したときにレコードがある場合に表示することができます。
マスター行に子レコードがないことを示すプロパティがある場合、Grid のdetailInitイベントを使用して、子 Grid を完全に削除するか非表示にすることができます。
場合によっては、サブグリッドを非表示にする必要がありました (1 つの変数によって異なります)。私がしたことは:
detailInit: function (e) {
if (globalVariable == "SomeValue") {
div = jQuery("<div class = 'addMaterialVendors'/>");
subGrid = MethodToCreateSubgrid(div, variables, e.data);
div.appendTo(e.detailCell);
}
else {
$(".k-hierarchy-cell").remove();
$(".k-hierarchy-col").remove();
}
},