Hi,
I am using GridTemplateColumn in Radgrid with checkbox in <headertemplate> and <itemtemplate>
I am unable to select/deselect the rows on <HeaderTemplate> checkbox click at client side....
Code is as follows...
<Columns>
<telerik:GridTemplateColumn AllowFiltering="false">
<HeaderTemplate>
<asp:CheckBox ID="chkSelectAll" runat="server" onclick="CheckAll()" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkStatus" runat="server" />
</ItemTemplate>
<HeaderStyle Width="50px" HorizontalAlign="Center" />
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn HeaderText="Security Code" UniqueName="Code" DataField="cod">
<HeaderStyle Width="200px" HorizontalAlign="Center" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Description" UniqueName="Description" DataField="dsc">
<HeaderStyle Width="500px" HorizontalAlign="Center" />
</telerik:GridBoundColumn>
</Columns>
Please let me know.
I am using GridTemplateColumn in Radgrid with checkbox in <headertemplate> and <itemtemplate>
I am unable to select/deselect the rows on <HeaderTemplate> checkbox click at client side....
Code is as follows...
<Columns>
<telerik:GridTemplateColumn AllowFiltering="false">
<HeaderTemplate>
<asp:CheckBox ID="chkSelectAll" runat="server" onclick="CheckAll()" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkStatus" runat="server" />
</ItemTemplate>
<HeaderStyle Width="50px" HorizontalAlign="Center" />
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn HeaderText="Security Code" UniqueName="Code" DataField="cod">
<HeaderStyle Width="200px" HorizontalAlign="Center" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Description" UniqueName="Description" DataField="dsc">
<HeaderStyle Width="500px" HorizontalAlign="Center" />
</telerik:GridBoundColumn>
</Columns>
Please let me know.
7 Answers, 1 is accepted
0
Shinu
Top achievements
Rank 2
answered on 27 Apr 2012, 06:24 AM
Hello Akki,
Try the following javascript.
aspx:
JS:
Thanks,
Shinu.
Try the following javascript.
aspx:
<HeaderTemplate> <asp:CheckBox ID="chkSelectAll" runat="server" onclick="CheckAll(this);" /></HeaderTemplate>function CheckAll(id) { var masterTable = $find("<%= RadGrid1.ClientID %>").get_masterTableView(); var row = masterTable.get_dataItems(); if (id.checked == true){ for (var i = 0; i < row.length; i++) { masterTable.get_dataItems()[i].set_selected(true); }}else{ for (var i = 0; i < row.length; i++) { masterTable.get_dataItems()[i].set_selected(false); }}}Thanks,
Shinu.
0
Akki
Top achievements
Rank 1
answered on 27 Apr 2012, 07:27 AM
i am getting error "Unable to get value of the property '_selectRowInternal': object is null or undefined"
in the js funtion at masterTable.get_dataItems()[i].set_selected(true)
in the js funtion at masterTable.get_dataItems()[i].set_selected(true)
0
Shinu
Top achievements
Rank 2
answered on 27 Apr 2012, 08:02 AM
Hi Akki,
I could replicate the issue. Try setting AllowRowSelect to true in client Settings.
ASPX:
Thanks,
Shinu.
I could replicate the issue. Try setting AllowRowSelect to true in client Settings.
ASPX:
<ClientSettings Selecting-AllowRowSelect="true"></ClientSettings>Thanks,
Shinu.
0
Akki
Top achievements
Rank 1
answered on 27 Apr 2012, 08:22 AM
thanks for your relply...
I am able to select/deselect the rows on <HeaderTemplate> checkbox click at client side..instead of rows how can i have checkbox of <itemtemplate> being checked...
I am able to select/deselect the rows on <HeaderTemplate> checkbox click at client side..instead of rows how can i have checkbox of <itemtemplate> being checked...
0
Shinu
Top achievements
Rank 2
answered on 27 Apr 2012, 08:41 AM
Hi Akki,
Please try the following code for checking and unchecking the CheckBox.
Javascript:
Thanks,
Shinu.
Please try the following code for checking and unchecking the CheckBox.
Javascript:
if(id.checked == true){ for (var i = 0; i < row.length; i++) { masterTable.get_dataItems()[i].findElement("chkStatus").checked = true; // for checking the checkboxes masterTable.get_dataItems()[i].set_selected(true); }}else{ for (var i = 0; i < row.length; i++) { masterTable.get_dataItems()[i].findElement("chkStatus").checked = false; // for unchecking the checkboxes masterTable.get_dataItems()[i].set_selected(false); }}Thanks,
Shinu.
0
Akki
Top achievements
Rank 1
answered on 27 Apr 2012, 09:13 AM
thanks for your relply...
I can have checkbox checked on click of checkbox which is at <HeaderTemplate>..
even though i selected all checkboxes by clicking checkbox of <headertemplate> if i uncheck any of the<itemtemplate> check box then it should uncheck checkbox of <headertemplate>..
How can i do it...
I can have checkbox checked on click of checkbox which is at <HeaderTemplate>..
even though i selected all checkboxes by clicking checkbox of <headertemplate> if i uncheck any of the<itemtemplate> check box then it should uncheck checkbox of <headertemplate>..
How can i do it...
0
Shinu
Top achievements
Rank 2
answered on 27 Apr 2012, 11:57 AM
Hi Akki,
One suggestion is to add a Hidden Field in the ASPX, so that you can get the ClientID of the Header CheckBox in the Javascipt to uncheck while checking any other CheckBoxes in ItemTemplate.
ASPX:
C#:
Javascript:
Thanks,
Shinu.
One suggestion is to add a Hidden Field in the ASPX, so that you can get the ClientID of the Header CheckBox in the Javascipt to uncheck while checking any other CheckBoxes in ItemTemplate.
ASPX:
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false"> <MasterTableView> <Columns> <telerik:GridTemplateColumn AllowFiltering="false"> <ItemTemplate> <asp:CheckBox ID="chkStatus" runat="server" onclick="unCheckHeader(this)" /> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView></telerik:RadGrid><asp:HiddenField ID="HiddenField1" runat="server" />C#:
protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e){ if (e.Item is GridHeaderItem) { GridHeaderItem hItem = (GridHeaderItem)e.Item; CheckBox chk1 = (CheckBox)hItem.FindControl("chkSelectAll"); HiddenField1.Value = chk1.ClientID.ToString(); }}Javascript:
function unCheckHeader(id){ var masterTable = $find("<%= RadGrid1.ClientID %>").get_masterTableView(); var row = masterTable.get_dataItems(); if (id.checked == false) { var hidden = document.getElementById("HiddenField1"); var checkBox = document.getElementById(hidden.value); checkBox.checked = false; }}Thanks,
Shinu.