First let me point a couple of links to documentation about RadGrid client-side binding:
Both links above describe the RadGrid client-side declarative/programmatic binding concepts/heuristics.
Getting RadGrid client object
and related topics elaborate on the RadGrid client-side object and API to manipulate that object.
Grid / WebService Binding
Grid / .NET 3.5 Client-side Data Binding
- automatic binding to WCF and ADO.NET services
Grid / Declarative Binding
Grid / Programmatic Binding
Grid / Client-side Binding and Caching
Grid / Master/Details Client-side Data Binding
Codeless client-side data-binding to ADO.NET DataService
REST Service Calls with grid client binding
Grid client-side data-binding performance with 1 mil. records
Codeless client-side data-binding for your ASP.NET AJAX DataGrid?
Telerik RadGrid client-side data-binding using jQuery
How To: Telerik RadGrid client-side caching with client-side binding to web services using LINQ to SQL
How To: Telerik RadGrid for ASP.NET AJAX client-side data-binding to WCF
I think that you are missing an important point here concerning the RadGrid client-side data-binding. Generally RadGrid transfers JSON
in order to bind/page/sort/filter. If you are using declarative data-binding and do not
bind RadGrid on the server, it will manage to create its client object properly. However, if you are manually binding it on client and do not
bind it on server, you need to attach a handler to its OnCommand
client event. In both cases RadGrid will bind itself on the server (if you do not bind it explicitly) with dummy data to create PageSize items. Later, when you bind it on the client side, previously created items will be populated with data. If you bind the control on client with rows more than PageSize, RadGrid will create new tr
elements and populate properly the cells for certain columns.
Since RadGrid transfers JSON
data when bound on the client, if you have some kind of templates - GridTemplateColumn/ NestedViewTemplate
- there is no proper way for populating the controls in these templates as they are templates.
However, for the rows that are initially created on the server (these PageSize items), RadGrid will manage to populate a control in GridTemplateColumn
if the control in that ItemTemplate
set as the DataField
that should be bound in that column.
Concerning the issues:
As described above, if you are performing manual data-binding attaching OnCommand
client event, the RadGrid client object will be created and you do not need to bind it on the server.
method of GridTableView
will create the rows. I am not sure what your case is. Please check the demos for details.
3 - 4.
As explained previously, NestedViewTemplates are not supported out of the box and need to be managed manually. OnRowDataBound client event can be intercepted to manipulate the templates.
I am not sure what the case here is. If you provide us with more details - code/sample project/ instructions to reproduce it we will investigate the behavior.
Regarding WCF services:
It is actually not directly related to our RadControls that you should have "AJAX enabled WCF service". Yes, you should as this is the way of requesting WCF within ASP.NET AJAX application and RadControls for ASP.NET as build on the top of that framework.
Let me know if I am wrong, but our support officers have provided you with solutions for all the issues you have faced during implementing RadGrid client-side data-binding in your application:
the Telerik team