Hi RutuPrash
there is a way to print gridview: include the gridview into a div, then put the div into a html page, then print the page
there is a demo for you, hope this helps:
<html>
<head>
<script type="text/javascript" language="javascript">
function printPage() {
var newWin = window.open('printer','','');
var titleHTML = document.getElementById("printdiv").innerHTML;
newWin.document.write(titleHTML);
newWin.document.location.reload();
newWin.print();
newWin.close();
}
</script>
</head>
<body>
<div id="printdiv">
<table class="sontable" cellspacing="0" cellpadding="0" style="width: 13%">
<tr>
<td style="width: 700px; height: 161px">
<asp:GridView ID="GridData" runat="server" CellPadding="3" CellSpacing="0" BorderWidth="1px" BackColor="LightSteelBlue" BorderColor="White" BorderStyle="None" Font-Size="12px" Width="543px" Height="20px" OnRowDataBound="GridData_RowDataBound">
<RowStyle BackColor="GhostWhite" BorderColor="#006699" />
<SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" Wrap="True" />
<HeaderStyle Height="25px" BackColor="#006699" Font-Bold="True" ForeColor="White" HorizontalAlign="Center" CssClass="Freezing"/>
</asp:GridView>
</td>
</tr>
</table>
</div>
<a href="javascript:;" onclick="printPage()">打印</a>
</body>
</html>
another way:
Hide the other tags in your page until printing complete
function printer()
{
beforeprint();
window.focus();
window.print()
afterprint();
}
function beforeprint()
{
for(i = 0; i < document.all.length; i++)
{
if ((document.all(i).id.indexOf("div_table_")!=-1) && document.all(i).tagName=="TABLE")
{
document.all(i).style.display="none";
}
}
}
function afterprint()
{
for(i = 0; i < document.all.length; i++)
{
if ((document.all(i).id.indexOf("div_table_")!=-1) && document.all(i).tagName=="TABLE")
{
document.all(i).style.display="block";
}
}
}