Hi,
I am using RADGrid for my application to improve the performance. I am updating the List<Class1> in Webeservice and returning to the client fuinction , But in client script while executing the following line of code in the "function updateGrid(result)" -
set_dataSource(result)
; throwing error inside Telerik dynamic created script file as 'null object'.
In JavaScript
<script type="text/javascript"> |
function bind() |
{ |
xtenzasolutions.WebService2.HelloWorld(updateGrid,OnError); |
} |
function OnError(result) |
{ |
alert("Error : "+result.get_message()); |
} |
function updateGrid(result) |
{ |
var tableview= $get('<% = rgDetails.MasterTableView.ClientID %>'); |
tableview.set_dataSource(result); |
tableview.dataBind(); |
GetFirstDataItemKeyValues(); |
} |
function GetFirstDataItemKeyValues() |
{ |
var firstDataItem = $find("<%=rgDetails.ClientID %>").get_masterTableView().get_dataItems()[0]; |
var keyValues = |
'DisplayStatus: "' + |
firstDataItem.getDataKeyValue("disp_id") + '"' + |
' \r\n' + |
'RuleName: "' + |
firstDataItem.getDataKeyValue("url") + '"'; |
alert(keyValues); |
} |
</script> |
In UserControl Page.
<table> |
<tr> |
<td> |
<asp:ScriptManager ID="scrp" runat="server"> |
<Services> |
<asp:ServiceReference Path="~/WebService2.asmx" /> |
</Services> |
</asp:ScriptManager> |
<telerik:RadGrid ID="rgDetails" runat="server" GridLines="None" Skin="Office2007" |
EnableClientKeyValues="true" AutoGenerateColumns="False" AllowMultiRowSelection="false" Height="200px" Width="500px"> |
<HeaderContextMenu EnableTheming="True"> |
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
</HeaderContextMenu> |
<MasterTableView> |
<RowIndicatorColumn> |
<HeaderStyle Width="20px"></HeaderStyle> |
</RowIndicatorColumn> |
<ExpandCollapseColumn> |
<HeaderStyle Width="20px"></HeaderStyle> |
</ExpandCollapseColumn> |
<Columns> |
<%--<telerik:GridBoundColumn UniqueName="MessageType" SortExpression="MessageType" HeaderText="" DataField="MessageType"></telerik:GridBoundColumn>--%> |
<telerik:GridTemplateColumn HeaderText="" UniqueName="Image"> |
<ItemTemplate> |
<asp:Image runat="server" ID="ImageThumbnail" AlternateText="image" ImageUrl='' Height="25" |
Width="25" Style="border-width: 0px;" /> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridBoundColumn ItemStyle-HorizontalAlign="Left" UniqueName="Activity" SortExpression="Activity" |
HeaderText="Activity" DataField="u_id"> |
<ItemStyle HorizontalAlign="Left" /> |
</telerik:GridBoundColumn> |
<telerik:GridTemplateColumn AllowFiltering="false" UniqueName="Install" HeaderText="Status"> |
<ItemTemplate> |
<%#DataBinder.Eval(Container.DataItem, "disp_id")%></a></ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridBoundColumn UniqueName="InstallStatus" SortExpression="InstallStatus" |
HeaderText="" DataField="url" Visible="false"> |
</telerik:GridBoundColumn> |
</Columns> |
</MasterTableView> |
<FilterMenu EnableTheming="True"> |
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
</FilterMenu> |
</telerik:RadGrid> |
</td> |
</tr> |
<tr> |
<td> |
<asp:Button runat="server" ID="butt" te="click" OnClientClick="bind()" /> |
</td> |
</tr> |
</table> |
In Webservice
public List<Class1> HelloWorld() |
{ |
string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; |
SqlConnection con = new SqlConnection(constr); |
con.Open(); |
SqlDataAdapter adp = new SqlDataAdapter("select *from urlTable", constr); |
DataSet ds = new DataSet(); |
adp.Fill(ds, "tab"); |
con.Close(); |
List<Class1> obj = new List<Class1>(); |
int i = 0; |
foreach (DataRow rw in ds.Tables[0].Rows) |
{ |
Class1 ser = new Class1(); |
ser.UID = rw["u_id"].ToString(); |
ser.DISPID = rw["disp_id"].ToString(); |
ser.URL = rw["url"].ToString(); |
obj.Add(ser); |
} |
return obj; |
} |