C# .NET - telerik grid checkbox selection not working after filtering records

Asked By Leena Dhillon on 30-Jan-12 02:36 AM
Telerik gridview checkboxes do not work after filteration. Forms.elements.length=0 in java script to check whether checkbox is selected or not on asp button click.
kalpana aparnathi replied to Leena Dhillon on 30-Jan-12 03:02 AM
Try this code:
function SelectAll(id) {
 
    var frm = document.forms[0];
 
    for (i=0;i<frm.elements.length;i++) {
 
      if (frm.elements[i].type == "checkbox") {
 
        frm.elements[i].checked = document.getElementById(id).checked;
 
      }
 
    }
 
  }
Jitendra Faye replied to Leena Dhillon on 30-Jan-12 03:59 AM

you can simply check whether an item is selected or not. This may look something like this:


.aspx

<telerik:RadGrid  
     ID="RadGrid1" runat="server" DataSourceID="AccessDataSource1" GridLines="None"
     AllowMultiRowSelection="true"> 
        <ExportSettings>
          <Pdf FontType="Subset" PaperSize="Letter" />
          <Excel Format="Html" />
          <Csv ColumnDelimiter="Comma" RowDelimiter="NewLine" />
        </ExportSettings>
        <MasterTableView AutoGenerateColumns="False" CommandItemDisplay="Top" CurrentResetPageIndexAction="SetPageIndexToFirst"        
          DataKeyNames="CustomerID" DataSourceID="AccessDataSource1" Dir="LTR" Frame="Border"
          TableLayout="Auto"> 
         
          <CommandItemTemplate>
          <asp:Button runat="server" ID="button1" OnClientClick="getSelected();" Text="getSelected" />         
          </CommandItemTemplate>

.Js

 <script type="text/javascript"> 
   
      function getSelected() 
      { 
      var RadGrid1 = $find("<%=RadGrid1.ClientID %>"); 
      alert("Number of selected items : " + RadGrid1.get_masterTableView().get_selectedItems().length);
 
      } 
   
      </script>

I hope this information helps.

D Company replied to Leena Dhillon on 30-Jan-12 04:14 AM
hello friend.

though you have not posted your code here, but i have one alternative to solve this problem.here is sample code of telerick control in grid,which serve the same purpose.


<% Html.Telerik().Grid<FileModel>()
      .Name("filelist")
      .DataKeys(key => key.Add(x => x.FullPath))
      .Columns(columns =>
      {
        columns.Bound(x => x.FullPath).Format(
        "<input type='checkbox'  value='{0}'>"
        ).Encoded(false).Width(22).Title("");
        columns.Bound(x => x.Name).ClientTemplate(
        "<img width='16' height='16' alt='<#= CategoryText #>' src='" 
        + Url.Content("~/Content/Images/") +
        "<#= CategoryText #>.png'  style= 'vertical-align:middle;'/>" +
        "<span id='<#= FullPath #>_span' style='padding-left" +
        ": 2px;'> <#= Name #></span>").Title("Name");
        columns.Bound(x => x.Created).Format("{0:g}").Title(
              "Date created").ReadOnly(true);
        columns.Bound(x => x.Accessed).Format("{0:g}").Title(
              "Date modified").ReadOnly(true);
        columns.Bound(x => x.IsFolder).Hidden(true);
        columns.Bound(x => x.FullPath).Hidden(true);

      })
      .DataBinding(dataBinding => dataBinding.Ajax()
          .Select("SelectFiles", "Explorer", new { filePath = Model.FullPath })
          )
      .Pageable(pager => pager.PageSize(Int32.MaxValue).Style(GridPagerStyles.Status))
      .Sortable(sorting => sorting.OrderBy(sortorder =>
          sortorder.Add(x => x.Accessed).Descending()))
      .Selectable()
      .ClientEvents(events =>
       events.OnRowSelect("onRowSelected").OnDataBound("onFileListDataBound"))
      .HtmlAttributes(new { style = "text-align:left; border:none;" })
      .Render();
%>


hope this helps
Regards
D