How do I limit users to Check only 8 items in a CheckBox inside GridTemplateColumn/ItemTemplate either by Client side or server side
<telerik:GridTemplateColumn DataField ="ID" UniqueName="CheckBoxColumn"> <ItemTemplate> <asp:CheckBox ID="CheckBoxStatus" runat="server" /> </ItemTemplate> </telerik:GridTemplateColumn>6 Answers, 1 is accepted
0
A2H
Top achievements
Rank 1
answered on 14 Aug 2013, 05:50 PM
Hi ,
If you want to validate the count on checkbox click
Please try this
1)
Add a hidden filed to your aspx page
2) Modify you template column like given below
3) Add the following javascript method
<asasp:HiddenField ID="hdnCheckedCount" runat="server" Value="0" />2) Modify you template column like given below
<tetelerik:GridTemplateColumn DataField="ID" UniqueName="CheckBoxColumn"> <ItemTemplate> <asp:CheckBox ID="CheckBoxStatus" runat="server" onClick="GetCheckedItemCount(this)" /> </ItemTemplate> </telerik:GridTemplateColumn>3) Add the following javascript method
function GetCheckedItemCount(objCheckbox) { if (objCheckbox.checked == true) { if (document.getElementById('<%=hdnCheckedCount.ClientID %>').value >= 8) { alert('Please select only 8 rows'); objCheckbox.checked = false; } else { document.getElementById('<%=hdnCheckedCount.ClientID %>').value = parseInt(document.getElementById('<%=hdnCheckedCount.ClientID %>').value) + 1; } } else { document.getElementById('<%=hdnCheckedCount.ClientID %>').value = parseInt(document.getElementById('<%=hdnCheckedCount.ClientID %>').value) - 1; } }Thanks,
A2H
0
Accepted
A2H
Top achievements
Rank 1
answered on 14 Aug 2013, 06:24 PM
Hi,
Javascript:
Thanks,
A2H
If you want to validate the checkbox checked count on a button click try this
ASPX:
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="GetCheckedItemCountbtnClick()" />function GetCheckedItemCountbtnClick() { var checkedcount = 0; var grid = $find("<%=RadGrid1.ClientID %>"); for (var i = 0; i < grid.get_masterTableView().get_dataItems().length; i++) { var objchkbox = grid.get_masterTableView().get_dataItems()[i].findElement("CheckBoxStatus"); if (objchkbox.checked) { checkedcount++; } } if (checkedcount > 8 ) { alert("Please select only 8 rows"); return false; } }Thanks,
A2H
0
Ebenezer
Top achievements
Rank 1
answered on 14 Aug 2013, 06:41 PM
Hi A2H
Thanks a lot. It works great
Thanks a lot. It works great
0
Ebenezer
Top achievements
Rank 1
answered on 16 Aug 2013, 03:23 PM
Hi A2H
How do I use same great code you gave me to make sure that user's don't leave the checkboxes blank. I don't want users to leave the checked boxes blank. At least one item must be checked but not more that 8
How do I use same great code you gave me to make sure that user's don't leave the checkboxes blank. I don't want users to leave the checked boxes blank. At least one item must be checked but not more that 8
0
A2H
Top achievements
Rank 1
answered on 16 Aug 2013, 05:49 PM
Hi,
Please modify the JS function like given below
Thanks,
A2H
Please modify the JS function like given below
function GetCheckedItemCountbtnClick() { var checkedcount = 0; var grid = $find("<%=RadGrid1.ClientID %>"); for (var i = 0; i < grid.get_masterTableView().get_dataItems().length; i++) { var objchkbox = grid.get_masterTableView().get_dataItems()[i].findElement("CheckBoxStatus"); if (objchkbox.checked) { checkedcount++; } } if (checkedcount > 8) { alert("Please select only 8 rows"); return false; } if (checkedcount == 0) { alert("Please select atleast one row"); return false; } }Thanks,
A2H
0
Ebenezer
Top achievements
Rank 1
answered on 16 Aug 2013, 06:34 PM
Hi A2H
Thanks a lot. It works great again
Thanks a lot. It works great again