Scenario是一个加载了所有节点的Jqgrid treegrid,其中一些已折叠,其中一些因用户交互而展开。 现在需要根据行ID滚动到特定行,如果行在折叠节点内,则展开节点直到用户可以看到行。 任何提示?
答案 0 :(得分:1)
要展开TreeGrid的节点,您可以使用expandRow
。另外还应该制作一个循环并展开该行的所有父节点。可以使用getNodeParent
来获得直接父母。此外,应使用scrollrows: true
选项将网格滚动到所选行。
The resulting demo允许选择需要选择的rowid行。单击"按ID选择行"按钮做你需要的:
点击我在演示中使用的事件句柄,您将在下面看到
$("#selectId").button().click(function () {
var idToSelect = $("#selectedId").val(), // id of the row which need be selected
localRowData = $grid.jqGrid("getLocalRow", idToSelect);
while (localRowData.parent !== null && localRowData.parent.toUpperCase() !== "NULL") {
localRowData = $grid.jqGrid("getNodeParent", localRowData);
$grid.jqGrid("expandRow", localRowData);
}
// we use scrollrows: true option so the selection below
// will scroll the grid to the selected row additionally
$grid.jqGrid("setSelection", idToSelect);
});