Jqgrid treegrid按行ID滚动到行,如果折叠则展开节点

时间:2014-10-23 04:16:57

标签: javascript jquery jqgrid treegrid

Scenario是一个加载了所有节点的Jqgrid treegrid,其中一些已折叠,其中一些因用户交互而展开。 现在需要根据行ID滚动到特定行,如果行在折叠节点内,则展开节点直到用户可以看到行。 任何提示?

1 个答案:

答案 0 :(得分:1)

要展开TreeGrid的节点,您可以使用expandRow。另外还应该制作一个循环并展开该行的所有父节点。可以使用getNodeParent来获得直接父母。此外,应使用scrollrows: true选项将网格滚动到所选行。

The resulting demo允许选择需要选择的rowid行。单击"按ID选择行"按钮做你需要的:

enter image description here

点击我在演示中使用的事件句柄,您将在下面看到

$("#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);
});