<ClientEvents OnRowSelected="RowSelected" />. I got this error:
XMLHttpPanel Callback Loading Error:
Exception=The target 'contentControl$RadXmlHttpPanel1' for callback could not be found or did not implement ICallBackEventHandler (screenshot attached). I am following your TELERIK.SALESDASHBOARD demo with some modifications. Below are the source codes that cause this error
.aspx codes:
<%@ Control Language="VB" AutoEventWireup="false" CodeFile="BatchDetails.ascx.vb" Inherits="Controls_DocumentInquiry_BatchDetails" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script type="text/javascript">
function RowSelected(sender, eventArgs)
{
var orderID = sender.get_masterTableView().get_dataItems()[eventArgs.get_itemIndexHierarchical()].getDataKeyValue("BatchNumber");
alert(orderID);
var oXmlPanel = $find("<%= RadXmlHttpPanel1.ClientID %>");
oXmlPanel.set_value(orderID);
}
</script>
</telerik:RadScriptBlock>
<div class="batchesContainer">
<asp:Label runat="server" ID="batchdetailsTitle" CssClass="detailsTitle">Orders for</asp:Label>
<div class="pageNav">
<asp:LinkButton runat="server" ID="prevPage" CssClass="prevPage">Previous</asp:LinkButton>
<asp:LinkButton runat="server" ID="nextPage" CssClass="nextPage">Next</asp:LinkButton>
</div>
<div class="batchDetails">
<div class="batchdetailsGrid">
<telerik:RadGrid AllowFilteringByColumn="true" AllowSorting="true" ShowGroupPanel="false" Height="300px" BackColor="#393939"
ID="rgBatchDetails" runat="server" AllowPaging="true" PageSize="10" Width="480px"
OnPreRender="rgBatchDetails_PreRender" OnNeedDataSource="rgBatchDetails_NeedDataSource" OnSelectedIndexChanged="rgBatchDetails_SelectedIndexChanged" >
<ClientSettings AllowDragToGroup="true" EnableRowHoverStyle="true">
<Selecting AllowRowSelect="true" />
<ClientEvents OnRowSelected="RowSelected" />
</ClientSettings>
<MasterTableView AutoGenerateColumns="false" PagerStyle-Mode="NextPrevAndNumeric" ClientDataKeyNames="BatchNumber,ImageFile"
TableLayout="Fixed">
<Columns>
<telerik:GridBoundColumn DataField="BatchNumber" HeaderText="Batch Number" AutoPostBackOnFilter="true" ShowFilterIcon="false" HeaderStyle-Width="60px" FilterControlWidth="35px">
</telerik:GridBoundColumn>
<telerik:GridNumericColumn DataField="ImageFile" HeaderText="Image File" AutoPostBackOnFilter="true" ShowFilterIcon="false" HeaderStyle-Width="60px" FilterControlWidth="35px">
</telerik:GridNumericColumn>
<telerik:GridBoundColumn DataField="MICRValue" HeaderText="MICR/OCR" HeaderStyle-Width="300px" FilterControlWidth="260px">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Amount" HeaderText="Amount" FilterControlWidth="70px">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
</div>
<div class="batchdetailsImage">
<telerik:RadXmlHttpPanel ID="RadXmlHttpPanel1" runat="server" OnServiceRequest="RadXmlHttpPanel1_ServiceRequest" RenderMode="Block">
<asp:Image ID="imgDocumentImage" runat="server" Height="300px" Width="500px"/>
</telerik:RadXmlHttpPanel>
</div>
</div>
<telerik:RadAjaxLoadingPanel ID="BatchesLoadingPanel" runat="server"></telerik:RadAjaxLoadingPanel>
</div>
Imports
Telerik.Web.UI
Imports
System
Imports
System.Linq
Imports
System.Linq.Expressions
Imports
System.Web.UI
Imports
System.Data
Partial
Class Controls_DocumentInquiry_BatchDetails
Inherits ContentControl
Protected Sub RadXmlHttpPanel1_ServiceRequest(ByVal source As Object, ByVal e As RadXmlHttpPanelEventArgs) Handles RadXmlHttpPanel1.ServiceRequest
Dim BatchNumber = e.Value.ToString
imgDocumentImage.ImageUrl = "Image.aspx?ImageLocation=00000481.TIF"
End Sub
Protected
Sub Page_PreRender(ByVal sender As Object, ByVal e As EventArgs)
Dim ajaxManager As RadAjaxManager = RadAjaxManager.GetCurrent(Page)
ajaxManager.AjaxSettings.AddAjaxSetting(rgBatchDetails, rgBatchDetails, BatchesLoadingPanel)
End Sub
Protected Sub rgBatchDetails_PreRender(ByVal sender As Object, ByVal e As EventArgs)
If rgBatchDetails.MasterTableView.Items.Count > 0 And rgBatchDetails.SelectedItems.Count = 0 Then
rgBatchDetails.MasterTableView.Items(0).Selected =
True
End If
End Sub
Protected Sub rgBatchDetails_NeedDataSource(ByVal source As Object, ByVal e As GridNeedDataSourceEventArgs)
If Session("dsBatchData") Is Nothing Then
Else
rgBatchDetails.DataSource = Session(
"dsBatchData")
End If
End Sub
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!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"> <div> <telerik:RadScriptManager runat="server" ID="RadScriptManager1"> <Scripts> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js"/> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js"/> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js"/> <asp:ScriptReference Path="~/AdvancedForm.js"/> </Scripts> </telerik:RadScriptManager> </div> <telerik:RadWindow ID="RadWindow1" runat="server" Width="200px" Height="60px" VisibleOnPageLoad="true" runat="server"> <ContentTemplate> <telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> <script type="text/javascript"> $(document).ready(function() { var x = "#<%=RadSchedulerRecurrenceEditor1.ClientID %>_RecurrentAppointment"; $(x).click(function() { var w = $find('<%= RadWindow1.ClientID %>'); setTimeout(function() { if ($(x + ':checked').val() !== null) { w.set_height(295); w.set_width(620); } else { w.set_height(60); w.set_width(200); } w.center(); }, 500); }); }); </script> </telerik:RadScriptBlock> --- <telerik:RadSchedulerRecurrenceEditor ID="RadSchedulerRecurrenceEditor1" runat="server" BackColor="Yellow" > </telerik:RadSchedulerRecurrenceEditor> --- </ContentTemplate> </telerik:RadWindow> </form></body></html>function onRequestStart(sender, args) { if (args.get_eventTarget().indexOf("ExportToExcelButton") >= 0 || args.get_eventTarget().indexOf("ExportToWordButton") >= 0 || args.get_eventTarget().indexOf("ExportToCsvButton") >= 0) { alert("no ajax"); args.set_enableAjax(false); currentLoadingPanel = $find("<%= rAJLoadingPanel.ClientID %>"); currentLoadingPanel.hide(currentLoadingPanel); currentLoadingPanel.style.visibility = 'hidden'; }<%@ Page Language="c#" Inherits="Telerik.GridExamplesCSharp.GeneralFeatures.Exporting.DefaultCS" CodeFile="DefaultCS.aspx.cs" %><%@ Register TagPrefix="telerik" Namespace="Telerik.QuickStart" %><%@ Register TagPrefix="telerik" TagName="Header" Src="~/Common/Header.ascx" %><%@ Register TagPrefix="telerik" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %><%@ Register TagPrefix="telerik" TagName="Footer" Src="~/Common/Footer.ascx" %><%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <telerik:HeadTag runat="server" ID="Headtag2"></telerik:HeadTag></head><body class="BODY"> <form runat="server" id="mainForm" method="post"> <telerik:Header runat="server" ID="Header1" NavigationLanguage="CS"></telerik:Header> <telerik:RadScriptManager ID="RadScriptManager1" runat="server" /> <!-- content start --> <div class="module" style="height: 110px; width: 92%"> <asp:CheckBox ID="CheckBox1" Text="Export only data" runat="server"></asp:CheckBox> <br /> <asp:CheckBox ID="CheckBox2" Text="Ignore paging (exports all pages)" runat="server"> </asp:CheckBox> <br /> <asp:CheckBox ID="CheckBox3" Text="Open exported data in new browser window" runat="server"> </asp:CheckBox> <br /> <br /> <asp:Button ID="Button1" CssClass="button" Width="150px" Text="Export to Excel" OnClick="Button1_Click" runat="server"></asp:Button> <asp:Button ID="Button2" CssClass="button" Width="150px" Text="Export to Word" OnClick="Button2_Click" runat="server"></asp:Button> <asp:Button ID="Button3" CssClass="button" Width="150px" Text="Export to CSV" OnClick="Button3_Click" runat="server"></asp:Button> </div> <br /> <script type="text/javascript"> function onRequestStart(sender, args) { if (args.get_eventTarget().indexOf("ExportToExcelButton") >= 0 || args.get_eventTarget().indexOf("ExportToWordButton") >= 0 || args.get_eventTarget().indexOf("ExportToCsvButton") >= 0) { args.set_enableAjax(false); } } </script> <telerik:RadAjaxLoadingPanel ID="rAJLoadingPanel" runat="server" Skin="Default" /> <telerik:RadAjaxPanel ID="radPanel" runat="server" LoadingPanelID="rAJLoadingPanel"> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <ClientEvents OnRequestStart="onRequestStart" /> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGrid1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="radPanel" LoadingPanelID="rAJLoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadGrid ID="RadGrid1" DataSourceID="SqlDataSource1" AllowSorting="True" AllowPaging="True" PageSize="10" runat="server" GridLines="None" Width="95%" OnItemCommand="RadGrid1_ItemCommand"> <ExportSettings HideStructureColumns="true" /> <MasterTableView Width="100%" CommandItemDisplay="Top"> <PagerStyle Mode="NextPrevNumericAndAdvanced" /> <CommandItemSettings ShowExportToWordButton="true" ShowExportToExcelButton="true" ShowExportToCsvButton="true" /> </MasterTableView> </telerik:RadGrid> </telerik:RadAjaxPanel> <br /> <asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" ProviderName="System.Data.SqlClient" SelectCommand="SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, PostalCode FROM Customers" runat="server"></asp:SqlDataSource> <!-- content end --> <telerik:Footer runat="server" ID="Footer1"></telerik:Footer> </form></body></html>
I
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_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"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <telerik:RadGrid Skin="Sunset" AutoGenerateEditColumn="true" ID="RadGrid1" ShowStatusBar="true" DataSourceID="SqlDataSource1" runat="server" AutoGenerateColumns="False" AllowPaging="True" GridLines="None" PageSize="10"> <PagerStyle Mode="NumericPages"></PagerStyle> <MasterTableView HierarchyLoadMode="ServerOnDemand" DataSourceID="SqlDataSource1" DataKeyNames="CustomerID" AllowMultiColumnSorting="True" CommandItemDisplay="None"> <DetailTables> <telerik:GridTableView Name="Orders" DataKeyNames="OrderID" CommandItemDisplay="None" DataSourceID="SqlDataSource2" Width="100%" runat="server"> <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="CustomerID" MasterKeyField="CustomerID" /> </ParentTableRelation> <Columns> <telerik:GridBoundColumn SortExpression="OrderID" HeaderText="OrderID" HeaderButtonType="TextButton" DataField="OrderID" UniqueName="OrderID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="OrderDate" HeaderText="Date Ordered" HeaderButtonType="TextButton" DataField="OrderDate" UniqueName="OrderDate" DataFormatString="{0:D}"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="Freight" HeaderText="Freight" HeaderButtonType="TextButton" DataField="Freight" UniqueName="Freight"> </telerik:GridBoundColumn> </Columns> <SortExpressions> <telerik:GridSortExpression FieldName="OrderDate"></telerik:GridSortExpression> </SortExpressions> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridBoundColumn SortExpression="CustomerID" HeaderText="CustomerID" HeaderButtonType="TextButton" DataField="CustomerID" UniqueName="CustomerID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="ContactName" HeaderText="Contact Name" HeaderButtonType="TextButton" DataField="ContactName" UniqueName="ContactName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="CompanyName" HeaderText="Company" HeaderButtonType="TextButton" DataField="CompanyName" UniqueName="CompanyName"> </telerik:GridBoundColumn> </Columns> <SortExpressions> <telerik:GridSortExpression FieldName="CompanyName"></telerik:GridSortExpression> </SortExpressions> </MasterTableView> <ClientSettings> <Selecting AllowRowSelect="true" /> </ClientSettings> </telerik:RadGrid> <br /> <br /> <asp:Button ID="Button1" runat="server" Text="Export to PDF selected items with Child Items" OnClick="Button1_Click" /> <asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM Customers" runat="server"></asp:SqlDataSource> <asp:SqlDataSource ID="SqlDataSource2" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM Orders Where CustomerID = @CustomerID" runat="server"> <SelectParameters> <asp:SessionParameter Name="CustomerID" SessionField="CustomerID" Type="string" /> </SelectParameters> </asp:SqlDataSource> </div> </form> </body> </html> using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Telerik.Web.UI; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void RadGrid1_PreRender(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { if (RadGrid1.SelectedItems.Count != 0) { foreach (GridDataItem item in RadGrid1.MasterTableView.Items) { if (!item.Selected) item.Visible = false; } } RadGrid1.ExportSettings.OpenInNewWindow = true; RadGrid1.ExportSettings.ExportOnlyData = true; RadGrid1.MasterTableView.HierarchyDefaultExpanded = true; RadGrid1.MasterTableView.ExportToPdf(); } }