javascript - Jqgrid树形网格按行ID滚动到行并展开节点(如果折叠)

标签 javascript jquery jqgrid treegrid

场景是一个 Jqgrid 树形网格,所有节点均已加载,其中一些节点折叠,另一些节点由于用户交互而展开。 现在需要根据行 ID 滚动到特定行,如果该行位于折叠节点内,则展开该节点直到该行对用户可见。 有什么提示吗?

最佳答案

要展开 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);
});

关于javascript - Jqgrid树形网格按行ID滚动到行并展开节点(如果折叠),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26521226/

相关文章:

用于确定电子邮件域的 JavaScript RegEx(例如 yahoo.com)

javascript - 在 afterRender() 中获取 div 的高度

javascript - Html 表(XML 绑定(bind)),带有用于编辑、删除、创建的命令按钮

javascript - "Simon Says"计算机随机选择显示不正确

java - jqgrid:更改选择的值

javascript - iframe 父文档上的 jQuery 效果

javascript - jQuery live 函数的简单版本

javascript - 将日期转换为 Word 格式

checkbox - 如何使用 Firebug 跟踪不显眼的 onclick

jqgrid - 不要在 JQGrid 中对单行进行分组