i have a grid with a checkbox on each row for users to select records for deletion.
however clicking on the row enables the user to edit that record.
checking or deselecting the checkbox is firing the rowclick and showing the edit popup, how do i prevent this happening ?
i dont want this rowclick to fire when the checkbox is ticked or unticked....
however clicking on the row enables the user to edit that record.
checking or deselecting the checkbox is firing the rowclick and showing the edit popup, how do i prevent this happening ?
i dont want this rowclick to fire when the checkbox is ticked or unticked....
6 Answers, 1 is accepted
0
Shinu
Top achievements
Rank 2
answered on 06 Aug 2012, 07:00 AM
Hi Mark,
I tried the same scenario and I couldn't replicate the issue. Here is the sample code snippet I tried.
ASPX:
C#:
Javascript:
Please provide the code if it doesn't help.
Thanks,
Shinu.
I tried the same scenario and I couldn't replicate the issue. Here is the sample code snippet I tried.
ASPX:
<telerik:RadGrid ID="rad" runat="server" DataSourceID="SqlDataSource1" AutoGenerateColumns="false" AutoGenerateEditColumn="true" onitemdatabound="rad_ItemDataBound"> <MasterTableView> <Columns> <telerik:GridBoundColumn UniqueName="ProductID" DataField="ProductID"></telerik:GridBoundColumn> <telerik:GridTemplateColumn UniqueName="CheckBoxTemplateColumn" HeaderText="selet"> <ItemTemplate> <asp:CheckBox id="CheckBox1" OnCheckedChanged="ToggleRowSelection" AutoPostBack="True" runat="server"></asp:CheckBox> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> <ClientSettings> <ClientEvents OnRowClick="OnRowClick" /> </ClientSettings></telerik:RadGrid>C#:
protected void ToggleRowSelection(object sender, EventArgs e){ ((sender as CheckBox).NamingContainer as GridItem).Selected = (sender as CheckBox).Checked;}Javascript:
<script type="text/javascript"> function OnRowClick(sender, eventArgs) { editedRow = eventArgs.get_itemIndexHierarchical(); $find("<%= rad.MasterTableView.ClientID %>").editItem(editedRow); }</script>Please provide the code if it doesn't help.
Thanks,
Shinu.
0
Mark
Top achievements
Rank 1
answered on 06 Aug 2012, 07:59 AM
thanks,
well in my example the checkbox is added in the code behind as its dependant on the user role.
so im not sure what the checkbox id is that fires the checkchanged event...
also the rowclick is detected in the code behind... the update process involves populating the update form and launching this in a popup to the user...
Me.pBlocks.VisibleOnPageLoad = True
for now i detect if checkbox selected in ItemCommand event and dont proceed with check fo rowclick but this stops the rowclick firing at all apart from de-selecting the checkbox which isnt the desired response... so seeking a way to keep these 2 events apart and not affecting each other....
well in my example the checkbox is added in the code behind as its dependant on the user role.
so im not sure what the checkbox id is that fires the checkchanged event...
also the rowclick is detected in the code behind... the update process involves populating the update form and launching this in a popup to the user...
Me.pBlocks.VisibleOnPageLoad = True
for now i detect if checkbox selected in ItemCommand event and dont proceed with check fo rowclick but this stops the rowclick firing at all apart from de-selecting the checkbox which isnt the desired response... so seeking a way to keep these 2 events apart and not affecting each other....
If Master.MembershipUser.ReadOnlyAccess = False Then AddCheckBox(Me.uxBlocks)End IfPublic Sub AddCheckBox(ByRef grid As RadGrid) Dim gbc As New GridClientSelectColumn grid.Columns.Insert(0, gbc) gbc.HeaderText = "Select" gbc.UniqueName = "Select" gbc.CommandName = "Select" gbc.ItemStyle.HorizontalAlign = HorizontalAlign.Center gbc.HeaderStyle.Width = Unit.Pixel(70) gbc.HeaderStyle.HorizontalAlign = HorizontalAlign.CenterEnd SubPrivate Sub uxBlocks_ItemCommand(source As Object, e As GridCommandEventArgs) _ Handles uxBlocks.ItemCommand Dim gItem As GridDataItem If e.CommandName = "RowClick" Then 'do the update process0
Mark
Top achievements
Rank 1
answered on 06 Aug 2012, 03:32 PM
i think i need to add the checkbox directly to the grid rather than in the code behind so i can access the oncheckedchanged event which should enable me to determine a checkbox click from a rowclick...
however i added the checkbox column as in your code but the checkbox doesnt appear in my grid...
heres my grid code...
however i added the checkbox column as in your code but the checkbox doesnt appear in my grid...
heres my grid code...
<telerik:RadGrid ID="uxBlocks" runat="server" EnableViewState="true" AllowAutomaticDeletes="false" AutoGenerateColumns="False" AllowSorting="True" GridLines="None" Skin="Default" AllowPaging="True" Culture="(Default)" PageSize="20" AllowMultiRowSelection="true" Width="100%" Height="350px" AllowFilteringByColumn="true" EnableHeaderContextMenu="true" EnableHeaderContextFilterMenu="true" OnItemDataBound="uxBlocks_ItemDataBound" GroupingEnabled="false"> <ClientSettings EnableRowHoverStyle="true" EnablePostBackOnRowClick="true" > <Scrolling AllowScroll="True" UseStaticHeaders="True" /> <Selecting AllowRowSelect="True" EnableDragToSelectRows="false" /> </ClientSettings> <MasterTableView IsFilterItemExpanded="false"> <Columns> <telerik:GridTemplateColumn UniqueName="CheckBoxTemplateColumn" HeaderText="Select" Visible="true"> <ItemTemplate> <asp:CheckBox id="CheckBox1" OnCheckedChanged="ToggleRowSelection" Visible="True" AutoPostBack="True" runat="server"></asp:CheckBox> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> <PagerStyle AlwaysVisible="true" Mode="NextPrevAndNumeric" /> </MasterTableView> <GroupingSettings CaseSensitive="False" /> </telerik:RadGrid>0
Shinu
Top achievements
Rank 2
answered on 07 Aug 2012, 06:15 AM
Hi Mark,
I tried your code and the checkboxes are showing. How are you adding other columns in the RadGrid? RadGrid does not support mixing declarative grid columns with grid columns added dynamically at runtime.
Thanks,
Shinu.
I tried your code and the checkboxes are showing. How are you adding other columns in the RadGrid? RadGrid does not support mixing declarative grid columns with grid columns added dynamically at runtime.
Thanks,
Shinu.
0
Mark
Top achievements
Rank 1
answered on 07 Aug 2012, 07:41 AM
ok thats the reason then as the columns are being added in the code behind...
so is there a way to solve this issue with the checkbox being added in the code behind also as i cant add it to the grid directly ?
can i get the checkbox id this way?
so is there a way to solve this issue with the checkbox being added in the code behind also as i cant add it to the grid directly ?
can i get the checkbox id this way?
0
Mark
Top achievements
Rank 1
answered on 07 Aug 2012, 03:52 PM
ok i have found a workaround by adding a client event to the rad grid which then uses javascript to detect if its a rowclick or a checkbox click...
i then set a hidden field value depending on which of these has occurred and check this in the itemcommand event in code behind.....
i then set a hidden field value depending on which of these has occurred and check this in the itemcommand event in code behind.....