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

Java Script inside Rad grid is not working after post back

2 Answers 42 Views
Ajax
This is a migrated thread and some comments may be shown as answers.
Shubham
Top achievements
Rank 1
Shubham asked on 20 May 2014, 04:14 PM
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 Answers, 1 is accepted

Sort by
0
Accepted
Maria Ilieva
Telerik team
answered on 23 May 2014, 03:15 PM
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.

 
0
Shubham
Top achievements
Rank 1
answered on 26 May 2014, 03:16 PM
Thanks Maria llieva
Tags
Ajax
Asked by
Shubham
Top achievements
Rank 1
Answers by
Maria Ilieva
Telerik team
Shubham
Top achievements
Rank 1
Share this question
or