I was using Iframe to load my reports and I was able to call a function when the report gets loaded. I have menu items for each reports and the new reports gets loaded in iframe. Our reports are very huge and takes time even before we see the new repots gets loaded in iframe.
<iframe frameborder="0" scrolling="no" marginwidth="0" marginheight="0" align="left" id="ReportFrame" onload="stopAnimation()" ></iframe>
Now I am using RadPane to generate two reports side by side. I am setting , but there is no way for me to know
<telerik:RadSplitter id="RadSplitter1" runat="server" width="100%" height="800" Orientation="Vertical">
<telerik:RadPane id="LeftPanel" runat="server">
</telerik:RadPane>
<telerik:RadSplitBar id="RadSplitBar1" runat="server" collapsemode="Both"></telerik:RadSplitBar>
<telerik:RadPane id="RightPanel" runat="server">
</telerik:RadPane>
</telerik:RadSplitter>
<script type="text/javascript">
function renderReport(url) {
var splitter = $find("<%= RadSplitter1.ClientID %>");
var vLeftPanel = splitter.getPaneById("LeftPanel");
var vRightPanel = splitter.getPaneById("RightPanel");
vLeftPanel.set_contentUrl(url);
vRightPanel.set_contentUrl(url);
setTimeout('stopAnimation()', 1000);
}
function stopAnimation() {
var splitter = $find("<%= RadSplitter1.ClientID %>");
var vRightPanel = splitter.getPaneById("RightPanel");
if (vRightPanel.isExternalContent()) {
var silverlightObject = document.getElementById("ReportSilverlightControl"); silverlightObject.content.SilverlightJSCaller.StopLoadingAnimation();
return;
}
else {
setTimeout(
'stopAnimation()', 1000);
}
}
isExternalContent() returns true soon after the url is set and not when the page is loaded. There is no way for me to know when the RadFrame has started loading the way I used to do for IFrame.
Can someone please helpme in knowing how can I get this working.