Problem is to print crystal report using iFrame. In my following code I have called a Print() function in my server side code.
After clicking the button, it shows the error: Uncaught TypeError: Cannot read property 'contentWindow' of undefined(…)".
This Print() functions works perfectly for client side. How do I get solution now to call javascript function in my server side to print Crystal report?
What I have tried:
Server Side Code
protected void btnSave_Click(object sender, EventArgs e) {
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "Notification", "Print();", true);
}
Client Side Code:
<div id="dvReport" class="col-md-12 col-sm-12 col-xs-12">
<cr:crystalreportviewer id="CrystalReportViewer1" runat="server" width="600px" height="400px" autodatabind="true" bestfitpage="False" hastogglegrouptreebutton="False" hastoggleparameterpanelbutton="False" toolpanelview="None" enabledrilldown="False" printmode="Pdf">
</div>
<script>
function Print() {
var dvReceiptReport = document.getElementById("dvReport");
var frame1 = dvReceiptReport.getElementsByTagName("iframe")[0];
var frameDoc = frame1.contentWindow ? frame1.contentWindow : frame1.contentDocument.document ? frame1.contentDocument.document : frame1.contentDocument;
frameDoc.print();
}
</script>