This is a migrated thread and some comments may be shown as answers.

Need help with auto expanding grid rows

1 Answer 110 Views
Grid
This is a migrated thread and some comments may be shown as answers.
John
Top achievements
Rank 1
John asked on 19 Dec 2012, 04:32 PM

Hi,

I am trying to auto expand all my grid rows as specified in the telerik demo using expand. So, far I have been unsuccessful after loading the grid and not see any of the row auto expand to the child rows.

In my cs file, I have the code in my .ascx.cs file

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                foidId = Server.UrlDecode(Request.QueryString["FOIA_UID"]);

                if (rgdSubmitterMatrix.MasterTableView.Items.Count > 0)
                {

                    //get MasterTableView's second (index 1) nested view item
                    GridNestedViewItem firstLevelNestedViewItem = (GridNestedViewItem)rgdSubmitterMatrix.MasterTableView.GetItems(GridItemType.NestedView)[0];

                    if (firstLevelNestedViewItem.NestedTableViews.Count() > 0 && firstLevelNestedViewItem.NestedTableViews[0].GetItems(GridItemType.NestedView).Count() > 0)
                    {
                        //get second nested view item at level 2 of the hierarchy
                        GridNestedViewItem secondLevelNestedViewItem = (GridNestedViewItem)firstLevelNestedViewItem.NestedTableViews[0].GetItems(GridItemType.NestedView)[0];

                        //get the first item to be expanded
                        GridItem itemToExpand = secondLevelNestedViewItem.NestedTableViews[0].GetItems(GridItemType.Item)[0];

                        itemToExpand.ExpandHierarchyToTop();
                    }
                    else if (firstLevelNestedViewItem.NestedTableViews.Count() > 0 && firstLevelNestedViewItem.NestedTableViews[0].Items.Count > 0 && firstLevelNestedViewItem.NestedTableViews[0].GetItems(GridItemType.NestedView).Count() == 0)
                    {
                        //get the first item to be expanded
                        GridItem itemToExpand = firstLevelNestedViewItem.NestedTableViews[0].Items[0];

                        itemToExpand.ExpandHierarchyToTop();
                    }
                }
            }
        }

 

In my .ascx file, I have the following telerik jscript and specified the following in the radgrid

ClientSettings-AllowExpandCollapse="true"

 <ClientSettings>
                        <ClientEvents OnHierarchyExpanding="HierarchyExpanding" OnHierarchyExpanded="HierarchyExpanded" OnHierarchyCollapsing="HierarchyCollapsing" OnHierarchyCollapsed="HierarchyCollapsed">
                        </ClientEvents>
                    </ClientSettings>

 

 

  <script type="text/javascript">

      function HierarchyExpanding(sender, args) {
          var firstClientDataKeyName = args.get_tableView().get_clientDataKeyNames()[0];
          if (!confirm("Should expand item with " + firstClientDataKeyName + ":'" + args.getDataKeyValue(firstClientDataKeyName) + "'?")) {
              args.set_cancel(true);
          }
      }

      function HierarchyExpanded(sender, args) {
          var firstClientDataKeyName = args.get_tableView().get_clientDataKeyNames()[0];
          alert("Item with " + firstClientDataKeyName + ":'" + args.getDataKeyValue(firstClientDataKeyName) + "' expanded.");
      }

      function HierarchyCollapsing(sender, args) {
          var firstClientDataKeyName = args.get_tableView().get_clientDataKeyNames()[0];
          if (!confirm("Should collapse item with " + firstClientDataKeyName + ":'" + args.getDataKeyValue(firstClientDataKeyName) + "'?")) {
              args.set_cancel(true);
          }
      }

      function HierarchyCollapsed(sender, args) {
          var firstClientDataKeyName = args.get_tableView().get_clientDataKeyNames()[0];
          alert("Item with " + firstClientDataKeyName + ":'" + args.getDataKeyValue(firstClientDataKeyName) + "' collapsed.");
      }

      function ExpandCollapseFirstMasterTableViewItem() {
          var firstMasterTableViewRow = $find("<%= rgdSubmitterMatrix.MasterTableView.ClientID %>").get_dataItems()[0];
          if (firstMasterTableViewRow.get_expanded()) {
              firstMasterTableViewRow.set_expanded(false);
          }
          else {
              firstMasterTableViewRow.set_expanded(true);
          }
      }

      function ExpandFirstMasterTableViewItem() {
          $find("<%= rgdSubmitterMatrix.MasterTableView.ClientID %>").expandItem(0);
            }

            function CollapseFirstMasterTableViewItem() {
                $find("<%= rgdSubmitterMatrix.MasterTableView.ClientID %>").collapseItem(0);
            }

            function ExpandFirstDetailTableFirstItem() {
                $find("<%= rgdSubmitterMatrix.Items[0].ChildItem.NestedTableViews[0].ClientID %>").expandItem(0);
            }

            function CollapseFirstDetailTableFirstItem() {
                $find("<%= rgdSubmitterMatrix.Items[0].ChildItem.NestedTableViews[0].ClientID %>").collapseItem(0);
            }

  </script>

 

 

 

 <asp:UpdatePanel ID="UpdatePanelMatrix" runat="server" RenderMode="Inline">
            <ContentTemplate>
           <telerik:RadGrid ID="rgdSubmitterMatrix" runat="server" AllowSorting="True" AllowPaging="True" AutoGenerateColumns="False" AllowMultiRowSelection="False" PageSize ="15"
                DataSourceID="odsSubmitterNotice" ClientSettings-AllowExpandCollapse="true" AllowFilteringByColumn="true" GridLines="None" OnItemCreated="rgdSubmitterMatrix_ItemCreated" OnItemCommand="rgdSubmitterMatrix_ItemCommand" OnPreRender="Page_Load" ShowGroupPanel="True" Skin="Outlook" OnItemDataBound="rgdSubmitterMatrix_ItemDataBound">
<%--               <ClientSettings>
                   <Resizing AllowColumnResize="true" AllowRowResize="false" ResizeGridOnColumnResize="false" ClipCellContentOnResize="true" EnableRealTimeResize="false" />
               </ClientSettings>--%>
               <PagerStyle Mode="NumericPages" />
                    <ClientSettings>
                        <ClientEvents OnHierarchyExpanding="HierarchyExpanding" OnHierarchyExpanded="HierarchyExpanded" OnHierarchyCollapsing="HierarchyCollapsing" OnHierarchyCollapsed="HierarchyCollapsed">
                        </ClientEvents>
                    </ClientSettings>

 

1 Answer, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 20 Dec 2012, 04:18 AM
Hi,

I suppose you want to show all rows expanded on page load. Try setting HierarchyDefaultExpanded as true.
aspx:
<MasterTableView HierarchyDefaultExpanded="true">

Thanks,
Shinu.
Tags
Grid
Asked by
John
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Share this question
or