title: obout Grid referesh Master Grid after update DetailGrid and keep expand DetailGrid
body: <p>am using Obout Grid with asp.net c# we have a nested Obout Grid am editing Details Grid after perform the update we want refresh the Master Grid and after refresh we want keep the expand which is updated my Grid is </p>
  
  <pre><code>&lt;obout:Grid ID="GrdVendor" runat="server" AutoGenerateColumns="false" AutoPostBackOnSelect="false"
                      AllowSorting="false" ShowFooter="false" AllowPaging="false" Width="100%" Height="370px"
                      PageSize="0" AllowAddingRecords="false" AllowPageSizeSelection="false"&gt;
                      &lt;ScrollingSettings ScrollHeight="500" /&gt;
                      &lt;Columns&gt;
                          &lt;obout:Column DataField="ORG_ID" Visible="false" HeaderText="Org ID"&gt;
                          &lt;/obout:Column&gt;
                          &lt;obout:Column DataField="VENDOR_ID" Visible="false" HeaderText="VENDOR ID"&gt;
                          &lt;/obout:Column&gt;
                          &lt;obout:Column DataField="ORGANIZATION_NAME" Visible="true" HeaderText="Organization Name"
                              Width="33%"&gt;
                          &lt;/obout:Column&gt;
                          &lt;obout:Column DataField="outstanding_amt" Visible="true" HeaderText="Outstanding Amt"
                              Width="33%" HeaderAlign="right" Align="right"&gt;
                          &lt;/obout:Column&gt;
                          &lt;obout:Column DataField="OUTSTANDING_REQ_AMT" Visible="true" HeaderText="Outstanding Req Amt"
                              Width="33%" HeaderAlign="right" Align="right"&gt;
                          &lt;/obout:Column&gt;
                      &lt;/Columns&gt;
                      &lt;MasterDetailSettings LoadingMode="OnCallback" /&gt;
                      &lt;DetailGrids&gt;
                          &lt;obout:DetailGrid runat="server" ID="GrdCategoryDetails" ForeignKeys="VENDOR_TYPE_LOOKUP_CODE,VENDOR_ID,ORG_ID"
                              AllowSorting="false" DataSourceID="vendor_Details" PageSize="10" AllowPaging="true"
                              Width="98%" AllowAddingRecords="false" AllowPageSizeSelection="true" AutoGenerateColumns="false"
                              ShowCollapsedGroups="false" ShowFooter="true" AllowDataAccessOnServer="true"
                              OnUpdateCommand="GrdCategoryDetails_UpdateCommand"&gt;
                              &lt;ScrollingSettings ScrollHeight="250" /&gt;
                              &lt;ClientSideEvents OnClientUpdate="onCommand" ExposeSender="true" /&gt;
                              &lt;Columns&gt;
                                  &lt;obout:Column DataField="ORG_ID" Visible="false" HeaderText="Org ID" ReadOnly="true"&gt;
                                  &lt;/obout:Column&gt;
                                  &lt;obout:Column DataField="VENDOR_ID" Visible="false" HeaderText="Vendor ID" ReadOnly="true"&gt;
                                  &lt;/obout:Column&gt;
                                  &lt;obout:Column DataField="VENDOR_TYPE_LOOKUP_CODE" Visible="true" HeaderText="Broker Type"
                                      ReadOnly="true" Width="33%"&gt;
                                  &lt;/obout:Column&gt;
                                  &lt;obout:Column DataField="OUTSTANDING_AMT" Visible="true" HeaderText="Outstanding Amt"
                                      HeaderAlign="right" Align="right" ReadOnly="true" Width="33%"&gt;
                                  &lt;/obout:Column&gt;
                                  &lt;obout:Column DataField="OUTSTANDING_REQ_AMT" Visible="true" HeaderText="Outstanding Req Amt"
                                      HeaderAlign="right" Align="right" Width="33%"&gt;
                                  &lt;/obout:Column&gt;
                                  &lt;obout:Column ID="Column1" AllowEdit="true" HeaderText="Edit" Width="100" runat="server"&gt;
                                  &lt;/obout:Column&gt;
                              &lt;/Columns&gt;
                              &lt;DetailGrids&gt;
                                  &lt;obout:DetailGrid runat="server" ID="GrdvendorDetailsGrid" ForeignKeys="VENDOR_TYPE_LOOKUP_CODE,VENDOR_ID,ORG_ID"
                                      AutoGenerateColumns="false" AllowSorting="false" DataSourceID="Vendor_Details1"
                                      PageSize="10" AllowPaging="true" Width="98%" AllowAddingRecords="false"&gt;
                                      &lt;Columns&gt;
                                          &lt;obout:Column DataField="ORG_ID" Visible="false" HeaderText="Org ID" ReadOnly="true"&gt;
                                          &lt;/obout:Column&gt;
                                          &lt;obout:Column DataField="VENDOR_ID" Visible="false" HeaderText="Vendor ID" ReadOnly="true"&gt;
                                          &lt;/obout:Column&gt;
                                          &lt;%--&lt;obout:Column DataField="VENDOR_TYPE_LOOKUP_CODE" Visible="true" HeaderText="Broker Type"
                                      ReadOnly="true" Width="25%"&gt;
                                  &lt;/obout:Column&gt;--%&gt;
                                          &lt;obout:Column DataField="VENDOR_NAME" Visible="true" HeaderText="Vendor Name" ReadOnly="true"
                                              Width="33%"&gt;
                                          &lt;/obout:Column&gt;
                                          &lt;obout:Column DataField="OUTSTANDING_AMT" Visible="true" HeaderText="Outstanding Amt"
                                              HeaderAlign="right" Align="right" ReadOnly="true" Width="33%"&gt;
                                          &lt;/obout:Column&gt;
                                          &lt;obout:Column DataField="OUTSTANDING_REQ_AMT" Visible="true" HeaderText="Outstanding Req Amt"
                                              HeaderAlign="right" Align="right" Width="33%"&gt;
                                          &lt;/obout:Column&gt;
                                      &lt;/Columns&gt;
                                      &lt;DetailGrids&gt;
                                          &lt;obout:DetailGrid runat="server" ID="GrdInvoiceDetailsGrid" AutoGenerateColumns="false"
                                              AllowAddingRecords="false" AllowSorting="false" AllowPaging="true" PageSize="10"
                                              ForeignKeys="VENDOR_TYPE_LOOKUP_CODE,VENDOR_ID,ORG_ID" Width="98%" DataSourceID="SqlDataSource_InvoiceDetails"&gt;
                                              &lt;Columns&gt;
                                                  &lt;obout:Column DataField="INVOICE_ID" HeaderText="Invoice ID" ReadOnly="true" Visible="false"&gt;
                                                  &lt;/obout:Column&gt;
                                                  &lt;obout:Column DataField="ORG_ID" HeaderText="ORG_ID" ReadOnly="true" Visible="false"&gt;
                                                  &lt;/obout:Column&gt;
                                                  &lt;obout:Column DataField="ORGANIZATION_NAME" HeaderText="Organization Name" Wrap="true"
                                                      ReadOnly="true" Width="18%"&gt;
                                                  &lt;/obout:Column&gt;
                                                  &lt;obout:Column DataField="PROJECT_DESCRIPTIONS" HeaderText="Project" Wrap="true" Width="12%"
                                                      ReadOnly="true"&gt;
                                                  &lt;/obout:Column&gt;
                                                  &lt;obout:Column DataField="INVOICE_NUM" HeaderText="Invoice Num" Wrap="true" ReadOnly="true"
                                                      Width="12%"&gt;
                                                  &lt;/obout:Column&gt;
                                                  &lt;obout:Column DataField="INVOICE_DATE" HeaderText="Invoice Date" Wrap="true" ReadOnly="true"
                                                      Width="13%" DataFormatString="{0:MM/dd/yyyy}"&gt;
                                                  &lt;/obout:Column&gt;
                                                  &lt;obout:Column DataField="INVOICE_AMT" HeaderText="Invoice Amt" Wrap="true" ReadOnly="true"
                                                      HeaderAlign="right" Align="right" Width="13%"&gt;
                                                  &lt;/obout:Column&gt;
                                                  &lt;obout:Column DataField="OUTSTANDING_AMT" HeaderText="Outstanding Amt" Wrap="true"
                                                      HeaderAlign="right" Align="right" Width="15%" ReadOnly="true"&gt;
                                                  &lt;/obout:Column&gt;
                                                  &lt;obout:Column DataField="OUTSTANDING_REQ_AMT" HeaderText="Outstanding Req Amt" Wrap="true"
                                                      HeaderAlign="right" Width="15%" Align="right"&gt;
                                                  &lt;/obout:Column&gt;
                                              &lt;/Columns&gt;
                                          &lt;/obout:DetailGrid&gt;
                                      &lt;/DetailGrids&gt;
                                  &lt;/obout:DetailGrid&gt;
                              &lt;/DetailGrids&gt;
                          &lt;/obout:DetailGrid&gt;
                      &lt;/DetailGrids&gt;
                  &lt;/obout:Grid&gt;
  
  
  &lt;script type="text/javascript"&gt;
      function onCommand(sender, record) {
          var masterGrid = getMasterGrid(sender.ID, null);
          window.setTimeout(masterGrid.ID + '.refresh();', 250);
      }
  
      function getMasterGrid(detailGridId, currentGrid) {
          if (!currentGrid) {
              currentGrid = GrdVendor;
          }
  
          if (currentGrid.DetailGrids) {
              for (var i = 0; i &lt; currentGrid.DetailGrids.length; i++) {
                  if (currentGrid.DetailGrids[i].ID == detailGridId) {
                      return currentGrid;
                  } else {
                      var masterGrid = getMasterGrid(detailGridId, currentGrid.DetailGrids[i]);
                      if (masterGrid != null) {
                          return masterGrid;
                      }
                  }
              }
          }
  
          return null;
      }
  &lt;/script&gt;
  </code></pre>