Hi everybody and thanks for your help! Im facing this problem: Ive a Radgrid which has a GridTemplateColumn which has a CheckBox inside. In the page load 1 row is inserted in the radgrid and displayed properly. Then, there is a RadButton (which only Works in the client side). When pressed it binds the radgrid to a new datasource with 2 rows. The problem is that the first row is displayed correctly while the second row is missing the checkbox. I did not use Eval since the radgrid must be bind in the client side (then, Ive used gridRowBound and gridRowCreated). Ive prepared an example code to show exactly this problem: you just need to créate a Web Application “WebApplicationRadGridCheckBox” and modify the Default.aspx code with the code below.
Thank you very much! Matias
Default.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplicationRadGridCheckBox._Default" %><%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title> </head><body> <telerik:RadScriptBlock ID="RadScriptBlockTipoDocumentoDetails" runat="server"> <script type="text/javascript"> function Add(sender, eventArgs) { var grid = $find("<%=RadGridTest.ClientID %>"); var mt = grid.get_masterTableView(); var items = mt.get_dataItems(); var source = new Array(); var item = { Field1: false, Field2: "new item 1!!!" }; source[source.length] = item; var item2 = { Field1: false, Field2: "new item 2!!!" }; source[source.length] = item2; mt.set_dataSource(source); mt.dataBind(); } function gridRowBound (sender, args) { var checkbox = args.get_item().findElement("Field1"); if (checkbox && checkbox != null) { checkbox.checked = args.get_dataItem().Field1 == "True"; } } function gridRowCreated (sender, args) { var checkbox = args.get_item().findElement("Field1"); if (checkbox && checkbox != null) { checkbox.checked = args._gridDataItem.getDataKeyValue("Field1") == "True"; } } </script> </telerik:RadScriptBlock> <form id="form1" runat="server"> <asp:ScriptManager runat="server" ID="ScriptManager1"/> <div> <telerik:RadButton ID="RadButton1" runat="server" Text="Add" OnClientClicked="Add" UseSubmitBehavior="false" AutoPostBack="false"/> <telerik:RadGrid ID="RadGridTest" runat="server" AutoGenerateColumns="false" AllowMultiRowSelection="true" Height="200px"> <MasterTableView Caption="" ClientDataKeyNames="Field1,Field2" DataKeyNames="Field1,Field2"> <Columns> <telerik:GridTemplateColumn> <ItemTemplate> <asp:CheckBox ID="Field1" runat="server"/> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn HeaderText="Field2" DataField="Field2"/> </Columns> </MasterTableView> <ClientSettings EnableRowHoverStyle="true" > <Selecting AllowRowSelect="true" /> <Scrolling AllowScroll="True" SaveScrollPosition="True"/> <ClientEvents OnRowDataBound="gridRowBound" OnRowCreated="gridRowCreated"/> </ClientSettings> </telerik:RadGrid> </div> </form></body></html>
Default.aspx.cs:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace WebApplicationRadGridCheckBox{ public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { List<TestClass> lista = new List<TestClass>() { new TestClass() { Field1 = true, Field2 = "JOJO" } }; RadGridTest.DataSource = lista; RadGridTest.DataBind(); } } public class TestClass { public Boolean Field1 { get; set; } public String Field2 { get; set; } }}

if (e.Column.UniqueName.Contains("SomeColumn"))
{
GridBoundColumn item = (GridBoundColumn)e.Column;
item.Aggregate =
GridAggregateFunction.Avg;
}
@ column created step.
did not work.
Thanks in advance.

<telerik:RadGrid ID="rgInvoiceDetails" runat="server" GridLines="None" AllowSorting="false" AutoGenerateColumns="False" CellSpacing="0"> <ClientSettings> <ClientEvents OnCommand="rgInvoiceDetails_Command" OnHierarchyExpanding="rgInvoiceDetails_HierarchyExpanding" OnRowDataBound="rgInvoiceDetails_RowDataBound" /> </ClientSettings> <MasterTableView ClientDataKeyNames="FeeChassisInvoiceDetailID,Disputed" CommandItemDisplay="Top" Width="100%" HierarchyLoadMode="Client"> <Columns> <telerik:GridBoundColumn DataField="ChassisNumber" HeaderText="Chassis" /> <telerik:GridBoundColumn DataField="BillFromDate" HeaderText="Out Gate" DataFormatString="{0:d}" /> <telerik:GridBoundColumn DataField="BillToDate" HeaderText="In Gate" DataFormatString="{0:d}" /> <telerik:GridBoundColumn DataField="BillDays" HeaderText="Days" /> <telerik:GridBoundColumn DataField="Rate" HeaderText="Rate" DataType="System.Decimal" DataFormatString="{0:c}" /> <telerik:GridBoundColumn DataField="FeeAmount" HeaderText="Total" DataType="System.Decimal" DataFormatString="{0:c}" /> <telerik:GridBoundColumn DataField="Disputed" HeaderText="" ItemStyle-CssClass="MyCustomHeaderClass" /> </Columns> <NestedViewTemplate> </NestedViewTemplate><HeaderStyle CssClass="MyCustomHeaderClass" /> </MasterTableView> </telerik:RadGrid>Imports SystemImports Telerik.Web.UINamespace Telerik.Web.Examples.TabStrip.ApplicationScenarios.LoadOnDemand Partial Public Class DefaultVB Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then AddTab("Customers") AddPageView(RadTabStrip1.FindTabByText("Customers")) AddTab("Products") AddTab("Orders") End If End Sub Private Sub AddTab(ByVal tabName As String) Dim tab As RadTab = New RadTab tab.Text = tabName RadTabStrip1.Tabs.Add(tab) End Sub Protected Sub RadMultiPage1_PageViewCreated(ByVal sender As Object, ByVal e As RadMultiPageEventArgs) Handles RadMultiPage1.PageViewCreated Dim userControlName As String = e.PageView.ID & "VB.ascx" Dim userControl As Control = Page.LoadControl(userControlName) userControl.ID = e.PageView.ID & "_userControl" e.PageView.Controls.Add(userControl) End Sub Private Sub AddPageView(ByVal tab As RadTab) Dim pageView As RadPageView = New RadPageView pageView.ID = tab.Text RadMultiPage1.PageViews.Add(pageView) pageView.CssClass = "pageView" tab.PageViewID = pageView.ID End Sub Protected Sub RadTabStrip1_TabClick(ByVal sender As Object, ByVal e As RadTabStripEventArgs) Handles RadTabStrip1.TabClick AddPageView(e.Tab) e.Tab.PageView.Selected = True End Sub End ClassEnd Namespace