Introduction
This tip explains how to print a particular web control's data from a web page.
Background
I have tried to open a new page and use JavaScript to print the web page, but all the web page controls are printed using
document.windows.print()
.
Using the code
Collapse | Copy Code
<script>
function PrintCasedata() {
var prtGrid1 = document.getElementById("<%= Panel1.ClientID %>");
var prtwin = window.open('', 'PrintCasedata',
'left=100,top=100,width=1000,height=1000,tollbar=0,scrollbars=1,status=0,resizable=1');
prtwin.document.write(prtGrid1.outerHTML);
prtwin.document.close();
prtwin.focus();
prtwin.print();
prtwin.close();
}
</script>
On this button I have added code tp print the
DataGridView
.
Collapse | Copy Code
<asp:Button ID="btnPrint" runat="server"
OnClick="btnPrint_Click" Text="Print"
Height="26px" Width="42px" />
Use the following code at codebehind:
Collapse | Copy Code
protected void btnPrint_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(),
"mymessage", "PrintCasedata(" + ");", true);
}
Using this code we can print the formatted web page, i.e. we want the logo on the print, the date, and user name. So we need to collect all controls which need to print on one panel or group box. And then replace the id in
GroupControlID
.
Collapse | Copy Code
var prtGrid1 = document.getElementById("<%= GroupControlID.ClientID %>");
No comments:
Post a Comment