Javascript 在第三级获取IGHierarchyCalGrid的子级

Javascript 在第三级获取IGHierarchyCalGrid的子级,javascript,infragistics,ignite-ui,iggrid,Javascript,Infragistics,Ignite Ui,Iggrid,我创建了一个3级基础设施IGHierarchy CalGrid,如下所示: 我想以编程方式选择ProductNumber的第三行。我可以做到这一点,直到第二级(比萨饼),但我无法实现同样的事情为第三级的条目 下面是我选择比萨饼的代码 var parentGrid = grid.igHierarchicalGrid("rootWidget"); var row = parentGrid.rowAt(0); grid.igHierarchicalGrid("expand", row); va

我创建了一个3级基础设施IGHierarchy CalGrid,如下所示:

我想以编程方式选择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”)返回当前扩展行的所有子级,但它将它们作为网格元素返回,而我的问题是这些元素也是我要展开并从中选择子级的HierarchicalGrid。

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

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,最好在扩展完成后使用第三个
回调
参数来执行逻辑。

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

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);
            }
        });
    }
});
请记住,
IGHierarchycalGrid.expand
是异步API,最好在展开后使用第三个
回调
参数执行逻辑