<
form id="form1" runat="server">
<telerik:RadScriptManager ID="ScriptManager" runat="server" />
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server">
<telerik:RadPanelBar runat="server" ID="RadPanelBar1" ExpandMode="SingleExpandedItem" Width="740px">
<Items>
<telerik:RadPanelItem Expanded="True" Text="Step 1: Account Information" runat="server" Selected="true">
<Items>
<telerik:RadPanelItem Value="AccountInformation" runat="server">
<ItemTemplate>
<asp:DropDownList ID="ddTest" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddTest_OnSelectedIndexChanged">
<asp:ListItem>First</asp:ListItem>
<asp:ListItem>Second</asp:ListItem>
<asp:ListItem>Third</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</telerik:RadPanelItem>
</Items>
</telerik:RadPanelItem>
</Items>
</telerik:RadPanelBar>
</telerik:RadAjaxPanel>
</form>
<telerik:RadGridSkin="Office2007"runat="server"ID="rdGd1"ShowFooter="False" AllowSorting="True"AllowPaging="True" PageSize="10" GridLines="None"> <MasterTableViewDataKeyNames="assetNodeID"AutoGenerateColumns="False"Name="MainGrid" CommandItemDisplay="Top"HierarchyLoadMode="ServerOnDemand"> <CommandItemTemplate> <asp:LabelID="lblHeaderr"runat="server"></asp:Label> </CommandItemTemplate> <Columns> .... .... ..... </Columns> <NestedViewTemplate> <asp:Panel runat="server"ID="InnerContainer"> <telerik:RadGrid id="childGrid" runat="server" OnItemDataBound="childGrid_ItemDataBound"> <MasterTableView> <columns> ..... .... .... </columns> </MasterTableView> </telerik:RadGrid ></asp:Panel> </NestedViewTemplate> <ExpandCollapseColumnVisible="True"> </ExpandCollapseColumn> </MasterTableView> </telerik:RadGrid> ProtectedSuchildGrid_ItemDataBound(ByValsource AsObject, ByVale AsTelerik.Web.UI.GridCommandEventArgs) .... Here Here I need the dataItem details of the parent grid EndSub Hello.
In order to familiarize with the RadGrid component, I have created a small application whose grid is populated by a web service.
Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> <%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %> <!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> <form id="form1" runat="server"> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> </telerik:RadScriptManager> <telerik:RadGrid ID="RadGrid1" runat="server"> <MasterTableView> <Columns> <telerik:GridBoundColumn DataField="ID" HeaderText="ID" DataType="System.Int32" /> <telerik:GridBoundColumn DataField="Name" HeaderText="Name" DataType="System.String" /> </Columns> </MasterTableView> <ClientSettings> <DataBinding Location="WebService.cs" SelectMethod="RetrieveRows" /> </ClientSettings> </telerik:RadGrid> </form> </body> </html>using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ServiceModel; using Telerik.Web.UI; namespace WebApplication1 { [ServiceContract(Namespace = "")] [System.Web.Script.Services.ScriptService] public class WebService { public WebService () { } [OperationContract] public Dictionary<string, object> RetrieveRows(int startRowIndex, int maximumRows, List<GridSortExpression> sortExpression, List<GridFilterExpression> filterExpression) { Dictionary<string, object> dictionary = new Dictionary<string, object>(); dictionary.Add("Data", new[] { new { ID = 1234, Name = "Test" }}); dictionary.Add("Count", 1); return dictionary; } } }The compilation was successful, but the following error message was displayed at runtime by the built-in script debugger of Internet Explorer:
Line: 6563
Error: Sys.ArgumentException: Cannot deserialize empty string.
Parameter name: data
I would appreciate whether some assistance could be provided to solve this problem.
Last but not least:
a) I was wondering how the application could be implemented using a server-side binding solution.
b) What is Telerik's recommendation in regard to client versus server-side binding implementations using a web service?
Thank you in advance.
Paulo