make the tab seleted by default

2 posts, 0 answers
  1. Sudhakar
    Sudhakar avatar
    28 posts
    Member since:
    Jul 2014

    Posted 30 Dec 2014 Link to this post

    Hi Team,

    I have a grid with some rows in it. When I expand each row I am displaying the 3 tabs.
    I wanted to implement the following scenario.

    1)Based on some predefined values(we defining them in enumerations.cs file)need to select the one of the tab by default.
    If the enum value is zero need to make the  second tab selected by default and if the enum value is 1 need to make the third tab selected by default.

    I am using the telerik dll version of 2014.3.1216.45 and implementing batch editing functionality.

    ASPX CODE
    -----------------
    <telerik:RadGrid ID="DischargeRadGrid"   OnItemDataBound="DsichargeRadGridFormat_OnItemDataBound" runat="server" AutoGenerateColumns="false"
                                CssClass="TransferGridPanel" Height="363px" Width="548px" OnItemCommand="DischargeRadGrid_ItemCommand"
                                OnBatchEditCommand="DischargeRadGrid_BatchEditCommand" OnNeedDataSource="DischargeRadGrid_NeedDataSource" OnPreRender="DischargeRadGrid_PreRender" OnItemCreated="DischargeRadGrid_ItemCreated">
                               <MasterTableView ShowHeadersWhenNoRecords="true" CommandItemDisplay="Top" EditMode="Batch"  HierarchyLoadMode="ServerOnDemand" DataKeyNames="Discharge_ID">
                                <CommandItemSettings ShowRefreshButton="false" AddNewRecordText="Add NewDelivery" />
                                   <BatchEditingSettings EditType="Cell" />
                                <NestedViewTemplate>
                                 <telerik:RadTabStrip runat="server" ID="DischargeTabStrip" MultiPageID="DischargeMultipage" ClickSelectedTab="True"
                                     SelectedIndex="0" OnTabClick="DischargeTabStip_TabClick">
                            <Tabs>
                                <telerik:RadTab runat="server" Text="Details" PageViewID="DischargePageViewDetails">
                                </telerik:RadTab>
                                <telerik:RadTab runat="server" Text="Compartments" PageViewID="DischargePageViewCompartments">
                                </telerik:RadTab>
                                <telerik:RadTab runat="server" Text="Products" PageViewID="DischargePageViewProducts">
                                </telerik:RadTab>
                            </Tabs>
                        </telerik:RadTabStrip>
                        <telerik:RadMultiPage runat="server" ID="DischargeMultipage" SelectedIndex="0" RenderSelectedPageOnly="false">
                            <telerik:RadPageView runat="server" ID="DischargePageViewDetails">
                                <div class="contactWrap">
                                    <table cellpadding="0" cellspacing="0">
                                    <tr>
                                        <td>
                                                <asp:Label runat="server" ID="lbl_ShipTo" Text='ShipTo:' Font-Bold="true"></asp:Label></td>
                                        <td>
                                                <asp:TextBox runat="server" ID="txt_ShipToValue" Enabled="false"></asp:TextBox></td>
                                        </tr>
                                        <tr>
                                        <td>
                                                <asp:Label runat="server" ID="lbl_SiteName" Text='Name:' Font-Bold="true"></asp:Label></td>
                                        <td>
                                                <asp:TextBox runat="server" ID="txt_SiteNameValue" Enabled="false"></asp:TextBox></td>
                                    </tr>
                                    <tr>
                                        <td>
                                                <asp:Label runat="server" ID="lbl_Address" Text='Address:' Font-Bold="true"></asp:Label></td>
                                        <td>
                                                <asp:TextBox runat="server" ID="txt_AddressValue" Enabled="false" TextMode="MultiLine"></asp:TextBox></td>
                                        </tr>                                    <tr>
                                        <td>
                                                <asp:Label runat="server" ID="lbl_SplInstruction" Text='SpecialInstructions:' Font-Bold="true"></asp:Label></td>
                                        <td>
                                                <asp:TextBox runat="server" ID="txt_SplInstructionValue" Enabled="false"></asp:TextBox></td>
                                        </tr>                                    <tr>
                                        <td>
                                                <asp:Label runat="server" ID="lbl_PONumber" Text='PONumber:' Font-Bold="true"></asp:Label></td>
                                        <td>
                                                <asp:TextBox runat="server" ID="txt_PONumberValue"  Enabled="false"></asp:TextBox>
                                                <asp:ImageButton ImageUrl="~/images/PenEditIcon.gif" runat="server" ID="btn_editPONumber"  OnClick="btn_editPONumber_Click"></asp:ImageButton>                                    </td>
                                    </tr>
                                     
                                       
                                </table>
                                </div>
                            </telerik:RadPageView>
                            <telerik:RadPageView runat="server" ID="DischargePageViewCompartments">
                                <telerik:RadGrid ID="CompartmentLevelDischargeRadGrid" runat="server" AutoGenerateColumns="false"
                                    CssClass="TransferGridPanel" Height="233px" Width="475px" OnItemDataBound="CompartmentLevelDischargeRadGrid_ItemDataBound" 
                                    OnBatchEditCommand="CompartmentLevelDischargeRadGrid_BatchEditCommand" OnNeedDataSource="CompartmentLevelDischargeRadGrid_NeedDataSource"
                                     OnPreRender="CompartmentLevelDischargeRadGrid_PreRender">
                                   
                                    <MasterTableView ShowHeadersWhenNoRecords="true" CommandItemDisplay="Top" EditMode="Batch" DataKeyNames="CompartmentIndex">
                                        <CommandItemSettings ShowRefreshButton="false" AddNewRecordText="Add LineItem" />
                                   <BatchEditingSettings EditType="Cell" />
                                        <Columns>
                                            <telerik:GridTemplateColumn HeaderText="Comp No." HeaderStyle-Width="50px" UniqueName="ItemNo" DataField="CompartmentIndex">
                                                <ItemTemplate>
                                                    <%# Eval("CompartmentIndex") %>
                                                </ItemTemplate>
                                                <EditItemTemplate>
                                                    <telerik:RadComboBox runat="server" ID="ddlDischargeCompartment" OnLoad="ddlDischargeCompartments" Width="50px">
                                                    </telerik:RadComboBox>
                                                </EditItemTemplate>
                                            </telerik:GridTemplateColumn>
                                            <telerik:GridTemplateColumn HeaderText="Planned Product" HeaderStyle-Width="70px" UniqueName="PlannedDischargeProd" DataField="PlannedProductName" ReadOnly="true" InsertVisiblityMode="AlwaysVisible">
                                                <ItemTemplate>
                                                    <%# Eval("PlannedProductName") %>
                                                </ItemTemplate>
                                                <EditItemTemplate>
                                                    <telerik:RadComboBox runat="server" ID="ddlPlannedDischargeProduct" OnLoad="ddlPlannedProductDischarge" Width="70px">
                                                    </telerik:RadComboBox>
                                                </EditItemTemplate>
                                            </telerik:GridTemplateColumn>
                                            <telerik:GridTemplateColumn HeaderText="Actual Product" HeaderStyle-Width="70px" UniqueName="ActualDischargeProd" DataField="ActualProductName">
                                                <ItemTemplate>
                                                    <%# Eval("ActualProductName") %>
                                                </ItemTemplate>
                                                <EditItemTemplate>
                                                    <telerik:RadComboBox runat="server" ID="ddlActualDischargeProduct" OnLoad="ddlActualProductDischarge" Width="70px">
                                                    </telerik:RadComboBox>
                                                </EditItemTemplate>
                                            </telerik:GridTemplateColumn>
                                           
                                                            <telerik:GridTemplateColumn HeaderText="Planned Quantity" HeaderStyle-Width="50px" UniqueName="PlannedDischargeQty" DataField="PlannedQuantity" ReadOnly="true" InsertVisiblityMode="AlwaysVisible">
                                                                <ItemTemplate>
                                                                    <%# Eval("PlannedQuantity") %>
                                                                </ItemTemplate>
                                                                <EditItemTemplate>
                                                                   <telerik:RadTextBox ID="plannedDischargeQty" runat="server" DataField="PlannedQuantity" HeaderStyle-Width="30px" HeaderText="Planned Quantity" UniqueName="PlannedDischargeQty">
                                                                 </telerik:RadTextBox>
                                                                </EditItemTemplate>
                                                            </telerik:GridTemplateColumn>
                                            <telerik:GridTemplateColumn HeaderText="Actual Quantity" HeaderStyle-Width="50px" UniqueName="ActualDischargeQty" DataField="ActualQuantity">
                                                                <ItemTemplate>
                                                                    <%# Eval("ActualQuantity") %>
                                                                </ItemTemplate>
                                                                <EditItemTemplate>
                                                                   <telerik:RadTextBox  ID="ActualDischargeQty" runat="server"  DataField="ActualQuantity" HeaderStyle-Width="30px" HeaderText="Actual Quantity" UniqueName="ActualDischargeQty">
                                                                 </telerik:RadTextBox>
                                                                </EditItemTemplate>
                                                            </telerik:GridTemplateColumn>
                                           
                                            <telerik:GridTemplateColumn HeaderText="Planned Tank" HeaderStyle-Width="50px" UniqueName="PlannedTank" DataField="TankIndex" ReadOnly="true" InsertVisiblityMode="AlwaysVisible">
                                                                <ItemTemplate>
                                                                    <%# Eval("TankIndex") %>
                                                                </ItemTemplate>
                                                                <EditItemTemplate>
                                                                   <telerik:RadTextBox runat="server" ID="plannedTank"  DataField="TankIndex" HeaderStyle-Width="30px" HeaderText="Planned Tank" UniqueName="PlannedTank">
                                                                   </telerik:RadTextBox>
                                                                </EditItemTemplate>
                                               
                                           
                                                            </telerik:GridTemplateColumn>
                                           
                                            <telerik:GridTemplateColumn HeaderText="Actual Tank" HeaderStyle-Width="50px" UniqueName="ActualTank" DataField="ActualTankIndex">
                                                                <ItemTemplate>
                                                                    <%# Eval("ActualTankIndex") %>
                                                                </ItemTemplate>
                                                                <EditItemTemplate>
                                                                   <telerik:RadTextBox runat="server" ID="actualTank" DataField="ActualTankIndex" HeaderStyle-Width="30px" HeaderText="Actual Tank" UniqueName="ActualTank">
                                                                 </telerik:RadTextBox>
                                                                </EditItemTemplate>
                                                            </telerik:GridTemplateColumn>
                                            <telerik:GridBoundColumn UniqueName="LeftOnBoard" DataField="LOB" HeaderText="LOB" ReadOnly="true">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn UniqueName="Adjustment" DataField="Adjustment" HeaderText="Adjustment" ReadOnly="true">
                                            </telerik:GridBoundColumn>
                                        </Columns>
                                    </MasterTableView>
                                </telerik:RadGrid>
                            </telerik:RadPageView>
                        <telerik:RadPageView runat="server" ID="DischargePageViewProducts">
                        <telerik:RadGrid ID="ProductLevelDischargeRadGrid" runat="server" AutoGenerateColumns="false"
                                    CssClass="TransferGridPanel" Height="233px" Width="475px" OnItemDataBound="ProductLevelDischargeRadGrid_ItemDataBound"
                              OnNeedDataSource="ProductLevelDischargeRadGrid_NeedDataSource">
                                <MasterTableView ShowHeadersWhenNoRecords="true">
                                    <Columns>
                                        <telerik:GridBoundColumn UniqueName="PlannedDischargeProd" DataField="PlannedProductName" HeaderText="Planned Product" Visible="false">
                                            </telerik:GridBoundColumn>                                       
                                            <telerik:GridBoundColumn UniqueName="ActualDischargeProd" DataField="ActualProductName" HeaderText="Actual Product">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn UniqueName="PlannedDischargeQty" DataField="PlannedQuantity" HeaderText="Planned Quantity">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn UniqueName="ActualDischargeQty" DataField="ActualQuantity" HeaderText="Actual Quantity">
                                            </telerik:GridBoundColumn>                                       
                                            <telerik:GridBoundColumn UniqueName="ActualTank" DataField="ActualTankIndex" HeaderText="Actual Tank">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn UniqueName="CaluculatedDifference" DataField="CaluculatedDifference" HeaderText="Caluculated Difference">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn UniqueName="PreDip" DataField="PreDip" HeaderText="PreDip">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn UniqueName="PostDip" DataField="PostDip" HeaderText="PostDip">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn UniqueName="PreSMR" DataField="PreSMR" HeaderText="SMR Start">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn UniqueName="PostSMR" DataField="PostSMR" HeaderText="SMR End">
                                            </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn UniqueName="LeftOnBoard" DataField="LOB" HeaderText="LOB">
                                        </telerik:GridBoundColumn>
                                            <telerik:GridBoundColumn UniqueName="Adjustment" DataField="Adjustment" HeaderText="Adjustment">
                                        </telerik:GridBoundColumn>
                                        </Columns>
                                    </MasterTableView>
                                </telerik:RadGrid>
                        </telerik:RadPageView>
                        </telerik:RadMultiPage>
                        </NestedViewTemplate>                                <Columns>
                                        <telerik:GridBoundColumn  UniqueName="DeliveryNo" DataField="Discharge_ID">
                                            <ColumnValidationSettings EnableRequiredFieldValidation="true">
                                                <RequiredFieldValidator ForeColor="Red" Text="*This field is required" Display="Dynamic">                               
                                                </RequiredFieldValidator>
                                            </ColumnValidationSettings>
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn  UniqueName="ShipTo"
                                            DataField="Site_ID">
                                            <ColumnValidationSettings EnableRequiredFieldValidation="true">
                                                <RequiredFieldValidator ForeColor="Red" Text="*This field is required" Display="Dynamic">                               
                                                </RequiredFieldValidator>
                                            </ColumnValidationSettings>
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn  UniqueName="ShipToName"
                                            DataField="SiteAddress" ReadOnly="true">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn  UniqueName="DischargeStart"
                                            DataField="DischargeStartTime" ReadOnly="true">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn  UniqueName="DischargeEnd"
                                            DataField="DischargeEndTime" ReadOnly="true">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn  UniqueName="PlannedFlag"
                                            DataField="Planned" Display="false">
                                        </telerik:GridBoundColumn>
                                    </Columns>
                                </MasterTableView>
                                <ClientSettings>                           
                               
                                <Scrolling AllowScroll="true"/>
                                  <ClientEvents OnBatchEditOpened="OnBatchEditOpened" /> 
                                </ClientSettings>
                            </telerik:RadGrid>
    ASPX.CS CODE
    ------------ protected void DischargeRadGrid_ItemCommand(object sender, GridCommandEventArgs e)
        {
            if (e.Item is GridDataItem)
            {
                GridDataItem item = (GridDataItem)e.Item;
                dischargeID = Convert.ToInt64(item["DeliveryNo"].Text);
                Session[_selectDischargeId] = dischargeID;
            }
           
            //loading compartment level discharge data
            List<DischargeDetailExtraEntity> dischargeTabListinstance = new List<DischargeDetailExtraEntity>();
            dischargeTabListinstance = dischargeDetailManager.GetDischargeDetailWSListByDischargeId(dischargeID);
            Session["_storeCompartmentDischargeTable"] = dischargeTabListinstance;        //loading compartment level discharge data
            List<DischargeDetailExtraEntity> ProductTabinstance = new List<DischargeDetailExtraEntity>();
            ProductTabinstance = dischargeDetailManager.GetDischargeDetailByDischargeIdAtProductlevel(dischargeID);
            Session["_storeProductDischargeTable"] = ProductTabinstance;    }
    protected void DischargeTabStip_TabClick(object sender, RadTabStripEventArgs e)
        {
           
                e.Tab.PageView.Selected = true;
                string selectedtabindex = e.Tab.Text;
                Int64 shipmentID = Convert.ToInt64(ShiftTreeView.SelectedNode.Value);
                Int64 discharge = 0;
                discharge = Convert.ToInt64(Session[_selectDischargeId].ToString());
                switch (selectedtabindex)
                {
                    case "Details":
                        {
                            RadPageView page = (RadPageView)e.Tab.PageView;                        List<DischargeEntity> dischargeDetails = new List<DischargeEntity>();
                            dischargeDetails = dischargeManager.GetDischargeDetailsByDischargeId(discharge);//.GetDischargeByID(discharge);
                            Session[_sesDischargeList] = dischargeDetails;
                            TextBox txtShipTo = (TextBox)page.FindControl("txt_ShipToValue");
                            TextBox txtSiteName = (TextBox)page.FindControl("txt_SiteNameValue");
                            TextBox txtAddress = (TextBox)page.FindControl("txt_AddressValue");
                            TextBox txtSplInstructions = (TextBox)page.FindControl("txt_SplInstructionValue");
                            TextBox txtPONumber = (TextBox)page.FindControl("txt_PONumberValue");
                            if (dischargeDetails.Count > 0)
                            {
                                txtShipTo.Text = dischargeDetails[0].Site_ID.ToString();
                                txtSiteName.Text = dischargeDetails[0].SiteName;
                                txtAddress.Text = dischargeDetails[0].SiteAddress + dischargeDetails[0].SiteName2;
                                txtSplInstructions.Text = dischargeDetails[0].DeliveryWindow;
                                txtPONumber.Text = dischargeDetails[0].PONumber.ToString();
                            }
                            else
                            {
                                txtShipTo.Text = MyGlobal.SDP_GUI_RADGRID_NO_RECORDS_FOUND;
                                txtSiteName.Text = MyGlobal.SDP_GUI_RADGRID_NO_RECORDS_FOUND;
                                txtAddress.Text = MyGlobal.SDP_GUI_RADGRID_NO_RECORDS_FOUND;
                                txtSplInstructions.Text = MyGlobal.SDP_GUI_RADGRID_NO_RECORDS_FOUND;
                                txtPONumber.Text = MyGlobal.SDP_GUI_RADGRID_NO_RECORDS_FOUND;
                            }                        break;
                        }
                    case "Compartments":
                        {
                            DischargeCompartmentGrid();
                            (e.Tab.PageView.FindControl("CompartmentLevelDischargeRadGrid") as RadGrid).Rebind();
                            break;
                        }
                    case "Products":
                        {
                            DischargeProductGrid();
                            (e.Tab.PageView.FindControl("ProductLevelDischargeRadGrid") as RadGrid).Rebind();
                            break;
                        }
                }
           
        }

    Regards,
    Sudhakar.
  2. Konstantin Dikov
    Admin
    Konstantin Dikov avatar
    1793 posts

    Posted 01 Jan 2015 Link to this post

    Hello Sudhakar,

    Can you please refer to answer from 29-Dec-2014 in ticket with ID: 876775, where I have explained in details how you could achieve such behavior:

    "Since your HierarchyLoadMode is set to ServerOnDemand, once you expand an item you can get reference to the NestedViewTemplate withing the server-side OnItemCommand event handler and depending on your enumeration, to select a specific RadTab in the RadTabStrip control..."


    Best Regards,
    Konstantin Dikov
    Telerik
     

    Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.

     
  3. UI for ASP.NET Ajax is Ready for VS 2017
Back to Top