jqgrid をツリーグリッドとして使用して階層を表示しています。
DBからデータを引っ張り出し、サーバーサイドで行った親子関係をもとに階層データを構築しています。
1 ページの読み込み x レベルまでツリーを読み込みます (これは、dB でのユーザー設定/設定に基づいています)。
したがって、ユーザーは最初のいくつかのレベルを見てから、ノードをクリックしてオンデマンドでさらに多くのレベルをロードします。
問題: 「loaded:true」を使用してロード時にツリーを展開できません。これにより、残りのレベルをオンデマンドでロードできなくなります。「expandRow」「expandNode」を使用してみました。これにより、ページの読み込み時にツリーが展開されますが、折りたたみ時に問題が発生します。ツリー ノードを折りたたむことができません。
ツリーを自動展開し、ページの読み込み時にすべてのノードを表示し、ユーザーが残りのノードをオンデマンドで読み込めるようにする正しい方法は何ですか。コードスニペット:
gridComplete: function () {
setTimeout(function () {
debugger;
var ids = jQuery("#jqgTreeGrid").getDataIDs();
for (var i = 0; i < ids.length; i++) {
rootNode = $("#jqgTreeGrid").jqGrid('getRowData')[i];
rootNode._id_ = rootNode.Id;
//rootNode.expanded = true;
$("#jqgTreeGrid").jqGrid('expandRow', rootNode);
$("#jqgTreeGrid").jqGrid('expandNode', rootNode);
//$("#" + rootNode._id_ + " div.treeclick")
// .removeClass("ui-icon ui-icon-triangle-1-e treeclick tree-plus")
// .addClass("ui-icon ui-icon-triangle-1-s treeclick tree-minus");
}
}, 10);
},
}