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

[Solved] OnCheckChanged not firing for an checkbox inside GridTemplateColumn

3 Answers 504 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Parth
Top achievements
Rank 1
Parth asked on 23 Oct 2009, 04:48 PM
Hi ,

The OnCheckChanged event is not firing for me on the server side, when you click the checkbox.  It is just postingback, and returning the original value checked.  When something else causes a postback it is firing the event though. Any idea what it might be?

<telerik:RadAjaxManager ID="RadAjaxManager1" DefaultLoadingPanelID="RadAjaxLoadingPanel1" 
            runat="server" OnAjaxRequest="RadAjaxManager1_AjaxRequest">  
            <AjaxSettings> 
                <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">  
                    <UpdatedControls> 
                        <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> 
                    </UpdatedControls> 
                </telerik:AjaxSetting>   
                <telerik:AjaxSetting AjaxControlID="RadGrid1">  
                    <UpdatedControls> 
                        <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> 
                    </UpdatedControls> 
                </telerik:AjaxSetting> 
                </AjaxSettings> 
        </telerik:RadAjaxManager> 
        <telerik:radajaxloadingpanel ID="RadAjaxLoadingPanel1" runat="server" Height="75px" 
            InitialDelayTime="10" MinDisplayTime="10" Width="75px">  
            <img alt="Loading..." src='<%= RadAjaxLoadingPanel.GetWebResourceUrl(Page, "Telerik.Web.UI.Skins.Default.Ajax.loading.gif") %>' 
                style="border: 0px;" /> 
        </telerik:radajaxloadingpanel> 


<telerik:RadGrid ID="RadGrid1" runat="server" EnableViewState="False" GridLines="None" 
AllowPaging="True" AllowSorting="True" Skin="Web20" OnNeedDataSource="RadGrid1_NeedDataSource" AutoGenerateColumns="False"   
 OnInit="RadGrid1_Init" PageSize="30" Height="470px" HorizontalAlign="Center" Width="690px">  
    <MasterTableView  DataKeyNames="StudentID" ClientDataKeyNames="StudentID" CommandItemDisplay="Top" > 
    <RowIndicatorColumn> 
        <HeaderStyle Width="20px" /> 
    </RowIndicatorColumn> 
     <Columns> 
            <telerik:GridBoundColumn HeaderText="StudentID" DataField="StudentID" Visible="False" UniqueName="StudentID">  
            </telerik:GridBoundColumn> 
            <telerik:GridBoundColumn DataField="SSID" HeaderText="Student ID" UniqueName="column5" DataType="System.Int64"  > 
             <HeaderStyle Width="70px" /> 
            <ItemStyle Width="70px" /> 
            </telerik:GridBoundColumn> 
            <telerik:GridBoundColumn DataField="Grade" HeaderText="Grade" UniqueName="column1" > 
            <HeaderStyle Width="60px" /> 
            <ItemStyle Width="60px" /> 
            </telerik:GridBoundColumn> 
            <telerik:GridBoundColumn DataField="LastName" HeaderText="Last Name" UniqueName="column2" > 
             <HeaderStyle Width="120px" /> 
            <ItemStyle Width="120px" /> 
            </telerik:GridBoundColumn> 
            <telerik:GridBoundColumn DataField="FirstName" HeaderText="First Name" UniqueName="column3" > 
             <HeaderStyle Width="120px" /> 
            <ItemStyle Width="120px" /> 
            </telerik:GridBoundColumn> 
            <telerik:GridBoundColumn DataField="IEP" HeaderText="IEP" UniqueName="column6" DataType="System.Boolean"  > 
             <HeaderStyle Width="50px" /> 
            <ItemStyle Width="50px" /> 
            </telerik:GridBoundColumn> 
            <telerik:GridBoundColumn DataField="EligibleREA" HeaderText="Eligible Reading" UniqueName="column7" > 
             <HeaderStyle Width="70px" /> 
            <ItemStyle Width="70px" /> 
            </telerik:GridBoundColumn> 
            <telerik:GridBoundColumn DataField="EligibleMath" HeaderText="Eligible Math" UniqueName="column8" > 
             <HeaderStyle Width="70px" /> 
            <ItemStyle Width="70px" /> 
            </telerik:GridBoundColumn> 
            <telerik:GridTemplateColumn UniqueName="GridTemplateRegister" DataField="Registered" HeaderText="Registered">    
            <ItemTemplate>    
                <asp:CheckBox ID="chkRegistered" runat="server"  TextAlign="Right"   OnCheckedChanged="chkRegistered_CheckedChanged"    
                     AutoPostBack="True"  Checked='<%#Bind("Registered") %>' />    
            </ItemTemplate>    
            <HeaderStyle Width="70px" /> 
            <ItemStyle Width="70px" /> 
            </telerik:GridTemplateColumn> 
        </Columns> 
        <CommandItemTemplate> 
            <asp:LinkButton Style="vertical-align: bottom" ID="btnAdd" runat="server" 
               OnClientClick="javascript:return AddStudent();"<img style="border:0px" alt="" src="images/addstudent.gif" />Add Student Record</asp:LinkButton>       
          
        </CommandItemTemplate> 
 
    </MasterTableView> 
        <ClientSettings > 
            <ClientEvents  /> 
            <Scrolling AllowScroll="True" UseStaticHeaders"True"/>  
            </ClientSettings> 
     <PagerStyle Mode="NumericPages" PageButtonCount="20" /> 
     </telerik:RadGrid> 

        protected void chkRegistered_CheckedChanged(object sender, EventArgs e)  
        {    
            CheckBox chkbx = (CheckBox)sender;   
            GridDataItem item = (GridDataItem)(sender as CheckBox).NamingContainer; //item is the row where the checkbox (that invoked the event) resides    
              
            // Update database  
 
        }   


Thanks,
Parth

3 Answers, 1 is accepted

Sort by
0
Parth
Top achievements
Rank 1
answered on 23 Oct 2009, 06:45 PM

I realized why the OnCheckChanged Event is getting Fired for other events(in my case a dropdown).

I have in the PageLoad, if a proper selection isn't made hide the grid.

RadGrid1.Visible = false


However i'm still having an issue getting the OnCheckChanged event to get fired when checking/unchecking the chexbox.  I even tried removing out the Ajax and that didn't solve the problem.
0
Princy
Top achievements
Rank 2
answered on 26 Oct 2009, 07:40 AM
Hi,

I believe this issue is caused due to the EnableViewState="False" property that you have set .
"A CheckBox control must persist some values between posts to the server for this event to work correctly. Be sure that view state is enabled for this control. "
Try  setting it to true and check if the issue persists.

Thanks,
Princy

0
Parth
Top achievements
Rank 1
answered on 02 Nov 2009, 06:52 PM
Hi Princy,

Sorry should have updated.  I ended up justing changing everything to client side javascript.  Instead of handling on server side.  Thanks for your reply though, i'll check try it out and see if that solves it for future reference!

Thanks,
Parth
Tags
Grid
Asked by
Parth
Top achievements
Rank 1
Answers by
Parth
Top achievements
Rank 1
Princy
Top achievements
Rank 2
Share this question
or