0

我创建了一个 3 级基础架构 igHierarchicalGrid,如下所示:

在此处输入图像描述

我想以编程方式选择带有 ProductNumber 的第三行。我可以做到这一点直到第二级(比萨),但我无法在第三级条目中实现同样的目标。

下面是我选择披萨的代码

var parentGrid = grid.igHierarchicalGrid("rootWidget");
var row = parentGrid.rowAt(0);
grid.igHierarchicalGrid("expand", row);   
var subGrids = grid.igHierarchicalGrid("allChildren");
$(subGrids).each(function(index, subGrid) {
    $(subGrid).igGridSelection("selectRow", 0);
});

grid.igHierarchicalGrid("allChildren") 返回当前扩展行的所有子级,但它将它们作为网格元素返回,而我的问题是这些元素也是我想要扩展并从中选择子级的 HierarchicalGrids。

4

1 回答 1

2

igHierarchicalGrid 实例仅在根网格上。使用根网格 API,您也可以展开/折叠孩子的行。以下是如何选择第 3 级行:

var grid = $("#grid1");
var parentGrid = grid.igHierarchicalGrid("rootWidget");
var row = parentGrid.rowAt(0);
grid.igHierarchicalGrid("expand", row, function () {
    var subGrids = grid.igHierarchicalGrid("allChildren"), currentGrid;
    if (subGrids && subGrids[0]) {
        currentGrid = $(subGrids[0]); 
        grid.igHierarchicalGrid("expand", currentGrid.igGrid("rowAt", 0), function () {
            var subGrids = grid.igHierarchicalGrid("allChildren");
            if (subGrids && subGrids[1]) {
                $(subGrids[1]).igGridSelection("selectRow", 0);
            }
        });
    }
});

请记住,这igHierarchicalGrid.expand是异步 API,最好callback在展开完成后使用第三个参数来执行您的逻辑。

于 2018-06-04T11:43:39.963 回答