Java Script inside Rad grid is not working after post back

3 posts, 1 answers
  1. Shubham
    Shubham avatar
    32 posts
    Member since:
    May 2013

    Posted 20 May 2014 Link to this post

    Hi All 
               I am using a rad grid and java script code inside it to push the client id of each  checkbox against each record in an array  but it is not working  after post back . on load  it  push the control id and then keeps  them till the end  until it is loaded again.
     Here is  my code 


    <%@ Page Language="C#" MasterPageFile="~/MasterPages/Page.master" AutoEventWireup="true"
    CodeFile="Default.aspx.cs" 
     EnableEventValidation="false" %>


    <asp:Content ID="PartTransferOutContent" ContentPlaceHolderID="ContentPlaceHolder_Content"
                 runat="Server">
        <telerik:RadCodeBlock ID="radCodeBlock" runat="server">
            <script type="text/javascript">
                var selectDeselectAllFlag = true;
                var headerCheckBoxID;
                var registeredElements = [];
                var temp = 0;

                
                function SelectDeselectCheckBox() {
                    try {
                        
                        var clientid = "";
                        alert(registeredelements.length);
                        for (var i = 0; i < registeredelements.length; i++) {
                          clientid = registeredelements[i];
                            var checkbox = document.getelementbyid(clientid);
                           if (checkbox) {
                               if (headercheckbox.checked)
                                    checkbox.checked = false;
                                else
                                   checkbox.checked = true;
                           }
                        }
                       if (headercheckbox.checked)
                            headercheckbox.checked = false;
                        else
                           headercheckbox.checked = true;
                    }
                    catch (er) {
                    }
                    return true;
                }

            </script>
        </telerik:RadCodeBlock>
        <telerik:RadAjaxManagerProxy ID="radAjaxManagerProxy" runat="server">
            <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="ItemRadGrid">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="ItemRadGrid" LoadingPanelID="RadAjaxLoadingPanelGrid" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings>
        </telerik:RadAjaxManagerProxy>
        <telerik:RadSplitter ID="SplitterMain" runat="server">
            
            <telerik:RadSplitBar ID="RadSplitBar1" runat="server">
            </telerik:RadSplitBar>
            <telerik:RadPane ID="panebottom" runat="server" SkinID="BottomRadPane">
                <table width="98%" style="table-layout: fixed">
                    <tr>
                        <td>
                            <asp:Label ID="MessageLabel" runat="server" SkinID="MessageLabel"></asp:Label>
                        </td>
                    </tr>
                 
                </table>
                <telerik:RadDockLayout ID="RadDockLayoutSearch" runat="server" OnLoadDockLayout="RadDockLayoutSearch_LoadDockLayout">
                   
                        <telerik:RadDock ID="RadDockSearchResults" runat="server" OnCommand="RadDock_Command">
                            <TitlebarTemplate>
                                <table class="RadDockTitlebarTemplateTableClass">
                                    <tr>
                                        <td>
                                            <asp:Label ID="SearchLabel" runat="server" Text="Search Results" SkinID="RadDockTitleLabel" />
                                        </td>
                                    </tr>
                                </table>
                            </TitlebarTemplate>
                            <ContentTemplate>
                                <div class="RadGridHorizontalScroll">
                                    <telerik:RadGrid ID="ItemRadGrid" runat="server" DatasourcePersistenceMode="ViewState"
                                                     OnItemCreated="ItemRadGrid_ItemCreated" OnNeedDataSource="ItemRadGrid_OnNeedDataSource"
                                                     OnDetailTableDataBind="ItemRadGrid_DetailTableDataBind" OnItemDataBound="ItemRadGrid_ItemDataBound"
                                                     GridLines="None" Width="99.4%">
                                        <ClientSettings>
                                            <Resizing AllowColumnResize="true" EnableRealTimeResize="true" ResizeGridOnColumnResize="true"
                                                      ClipCellContentOnResize="true" />
                                            <Selecting AllowRowSelect="true" />
                                        </ClientSettings>
                                        <HeaderContextMenu>
                                            <CollapseAnimation Duration="200" Type="OutQuint" />
                                        </HeaderContextMenu>
                                        <MasterTableView Width="100%" 
                                                         ShowHeader="false" CommandItemDisplay="Top"
                                                         EnableViewState="true" HierarchyDefaultExpanded="True" HierarchyLoadMode="Client"
                                                         AllowMultiColumnSorting="true" AllowNaturalSort="true" ShowFooter="true" TableLayout="Fixed">
                                            <PagerStyle Position="TopAndBottom" />
                                            <CommandItemTemplate>
                                                <table width="100%">
                                                    <tr>
                                                        <td class="ButtonSeparator">
                                                            <asp:LinkButton ID="SelectDeselectLinkButton" OnClientClick="return SelectDeselectCheckBox();"
                                                                            runat="server" Text="Select/Deselect All" SkinID="SmallLinkButton"></asp:LinkButton>
                                                        </td>
                                                       
                                                    </tr>
                                                </table>
                                            </CommandItemTemplate>
                                            <DetailTables>
                                                <telerik:GridTableView runat="server" 
                                                                       DatasourcePersistenceMode="ViewState" EnableViewState="true" Width="100%"
                                                                       HierarchyLoadMode="Client" TableLayout="Fixed">
                                                    <ExpandCollapseColumn Visible="True">
                                                    </ExpandCollapseColumn>
                                                    <DetailTables>
                                                        <telerik:GridTableView runat="server"
                                                                               DatasourcePersistenceMode="ViewState" EnableViewState="true">
                                                            <PagerStyle Visible="false" />
                                                            <Columns>
                                                               some column here
                                                            </Columns>
                                                        </telerik:GridTableView>
                                                    </DetailTables>
                                                    <Columns>
                                                        <telerik:GridTemplateColumn UniqueName="SelectItemCheckBoxColumn" Resizable="false" Reorderable="false">
                                                            <ItemTemplate>
                                                                <asp:CheckBox ID="SelectItemCheckBox"  runat="server" onclick="return SetHeaderCheckBox(this);"/>
                                                                <script type="text/javascript">
                                                                    //alert('create');
                                                                    registeredElements.push('<%# Container.FindControl("SelectItemCheckBox").ClientID %>');    
                                                                </script>
                                                            </ItemTemplate>
                                                            <HeaderTemplate>
                                                                <%--Updated for Defect #18369--%>
                                                                <div style="cursor:auto">
                                                                <asp:CheckBox ID="SelectHeaderCheckBox" runat="server" onclick="return SelectAllCheckBox(this);"/>
                                                                </div>
                                                                <script type="text/javascript">
                                                                    headerCheckBoxID = '<%# Container.FindControl("SelectHeaderCheckBox").ClientID %>';
                                                                </script>
                                                            </HeaderTemplate>
                                                        </telerik:GridTemplateColumn>
                                                        some more columns are here
                                                    </Columns>
                                                </telerik:GridTableView>
                                            </DetailTables>
                                            <Columns>
                                                <telerik:GridTemplateColumn  FooterStyle-Width="80%">
                                                    
                                                </telerik:GridTemplateColumn>
                                                <telerik:GridBoundColumn DataField="Total" UniqueName="Total" FooterStyle-HorizontalAlign="Right"
                                                                         Display="true">
                                                </telerik:GridBoundColumn>
                                            </Columns>
                                            <ExpandCollapseColumn Visible="False">
                                                <HeaderStyle Width="19px"></HeaderStyle>
                                            </ExpandCollapseColumn>
                                            <RowIndicatorColumn Visible="False">
                                                <HeaderStyle Width="20px"></HeaderStyle>
                                            </RowIndicatorColumn>
                                        </MasterTableView>
                                        <FilterMenu>
                                            <CollapseAnimation Duration="200" Type="OutQuint" />
                                        </FilterMenu>
                                    </telerik:RadGrid>
                                </div>
                            </ContentTemplate>
                            <Commands>
                                <telerik:DockExpandCollapseCommand />
                                <telerik:DockCommand AutoPostBack="true" Text="Save Position" />
                            </Commands>
                        </telerik:RadDock>
                    </telerik:RadDockZone>
                </telerik:RadDockLayout>
            </telerik:RadPane>
        </telerik:RadSplitter>
        <telerik:RadWindowManager ID="RadWindowManager1" runat="server">
        </telerik:RadWindowManager>
        <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanelGrid" runat="server">
        </telerik:RadAjaxLoadingPanel>
    </asp:Content>


    and  at Cs  page I am refreshing it by ajax  as

     protected void Page_Load(object sender, EventArgs e)
        {
           
            _radAjaxManager = Master.FindControl("RadAjaxManagerPart") as RadAjaxManager;
           
                
            if (_radAjaxManager != null)
            {
                _radAjaxManager.AjaxSettings.AddAjaxSetting(_radAjaxManager, ItemRadGrid);
                _radAjaxManager.AjaxSettings.AddAjaxSetting(ItemRadGrid, MessageLabel);
            }
            
        }  

    Please help me out Thanks



  2. Answer
    Maria Ilieva
    Admin
    Maria Ilieva avatar
    4017 posts

    Posted 23 May 2014 Link to this post

    Hello Shubham,

    Could you please try disabling the Ajax on the page and verify what the result in this case is?

    Regards,
    Maria Ilieva
    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
  4. Shubham
    Shubham avatar
    32 posts
    Member since:
    May 2013

    Posted 26 May 2014 Link to this post

    Thanks Maria llieva
Back to Top