Telerik 展开RadGrid层次结构中的所有项

Telerik 展开RadGrid层次结构中的所有项,telerik,client-side,radgrid,Telerik,Client Side,Radgrid,我使用的是具有层次结构的RadGrid 2009 Q2。客户端api中是否有方法扩展所有行,反之亦然 谢谢 更新: 我已经根据下面Dick Lampard建议的api文档编写了一个javascript函数,用于扩展/折叠radgrid中具有三个级别的所有行。它展开第一个mastertableview行的两个子级别中的所有mastertableview行和所有嵌套的detailtableview行,但当它转到第二个mastertableview行的detailtableview行时,它会中断!。我

我使用的是具有层次结构的RadGrid 2009 Q2。客户端api中是否有方法扩展所有行,反之亦然

谢谢

更新: 我已经根据下面Dick Lampard建议的api文档编写了一个javascript函数,用于扩展/折叠radgrid中具有三个级别的所有行。它展开第一个mastertableview行的两个子级别中的所有mastertableview行和所有嵌套的detailtableview行,但当它转到第二个mastertableview行的detailtableview行时,它会中断!。我得到的错误是_350未定义。这来自Telerik.Web.UI.WebResource文件

function ExpandCollapseAll(expand) {
    var grid = $find("<%= rgHistory.ClientID %>");

    master = grid.get_masterTableView();
    var masterRowCount = master.get_dataItems().length;

    for (masterIndex = 0; masterIndex < masterRowCount; masterIndex++) {
        if (expand) {
            master.expandItem(masterIndex);
        }
        else {
            master.collapseItem(masterIndex);
        }
    } 

    var detailTables = grid.get_detailTables();
    var detailTableCount = detailTables.length;

    for (detailTableIndex = 0; detailTableIndex < detailTableCount; detailTableIndex++) {
        var detailTable = detailTables[detailTableIndex];
        var rowCount = detailTable.get_dataItems().length;
        for (rowIndex = 0; rowIndex < rowCount; rowIndex++) {
            if (expand) {
                //expandItem is failing!  detailTableIndex and rowIndex are correct
                detailTables[detailTableIndex].expandItem(rowIndex);
            }
            else {
                detailTables[detailTableIndex].collapseItem(rowIndex);
            }
        }
    }            
}

有什么想法吗

有用于层次结构扩展的客户端API以及ExpandHierarchyToTop服务器方法。退房


Dick

有用于层次结构扩展的客户端API以及ExpandHierarchyToTop服务器方法。退房


Dick

如果要查看所有层次结构级别,请将HierarchyDefaultExpanded设置为MasterTableView和所有GridTableView。有关详细信息,请参阅。

如果要查看所有层次结构级别,请将HierarchyDefaultExpanded设置为MasterTableView和所有GridTableView。有关详细信息,请参阅。

试试这个

受保护的无效页\u预渲染完成{ 如果!Page.IsPostBack{ MyGrid.MasterTableView.Controls[0]中的foreach GridItem项。控件{ 如果项为GridGroupHeaderItem 如果item.GroupIndex.ToString!=0 item.Expanded=!item.Expanded; } } } 试试这个

受保护的无效页\u预渲染完成{ 如果!Page.IsPostBack{ MyGrid.MasterTableView.Controls[0]中的foreach GridItem项。控件{ 如果项为GridGroupHeaderItem 如果item.GroupIndex.ToString!=0 item.Expanded=!item.Expanded; } } } 在radGrid.DataBind之后

使用这种方法

private void ExpanadAllRadGridNodes()
        {
            foreach (GridDataItem item_L1 in radgridQuestionGroups.MasterTableView.Items)
            {
                foreach (GridTableView item_L2 in (item_L1 as GridDataItem).ChildItem.NestedTableViews)
                {
                    foreach (GridDataItem item_L3 in item_L2.Items)
                    {
                        item_L3.Expanded = true;
                    }
                }
            }
        }
在radGrid.DataBind之后

使用这种方法

private void ExpanadAllRadGridNodes()
        {
            foreach (GridDataItem item_L1 in radgridQuestionGroups.MasterTableView.Items)
            {
                foreach (GridTableView item_L2 in (item_L1 as GridDataItem).ChildItem.NestedTableViews)
                {
                    foreach (GridDataItem item_L3 in item_L2.Items)
                    {
                        item_L3.Expanded = true;
                    }
                }
            }
        }

这适用于页面加载。如何从javascript执行此操作?这适用于页面加载。如何从javascript执行此操作?