Hi,
refer the follwing link
https://www.aspsnippets.com/Articles/Print-functionality-in-ASP.Net-GridView-control.aspx
I am using this code to print documents but when Click the print button blank page is being printed. the values in the grid is not being printed.
Pls help me
<asp:GridView ID="grid1" runat="server" AutoGenerateColumns="false" CellPadding="3" OnPageIndexChanging="OnPageIndexChanging" AllowPaging="true" CssClass="table table-bordered" PageSize="10" >
<Columns>
<asp:BoundField HeaderText="Number" DataField="no" />
<asp:BoundField HeaderText="Name" DataField="name" />
<asp:BoundField HeaderText="Email" DataField="email" />
<asp:BoundField HeaderText="Subject" DataField="subject" />
<asp:BoundField HeaderText="Message" DataField="message" />
<asp:TemplateField>
<ItemTemplate>
<asp:HiddenField ID="hdnEmpId" runat="server" Value='<%#Eval("no") %>'/>
<asp:LinkButton ID="btnDelete" Text="Delete" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<%-- <asp:BoundField DataField="CustomerId" HeaderText="Id" HeaderStyle-Width="30"/>
<asp:BoundField DataField="Name" HeaderText="Name" HeaderStyle-Width="150"/>
<asp:BoundField DataField="Country" HeaderText="Country" HeaderStyle-Width="150"/>
<asp:TemplateField HeaderStyle-Width="50">
<ItemTemplate>
<asp:HiddenField ID="hfCustomerId" runat="server" Value='<%# Eval("CustomerId") %>'/>
<asp:LinkButton ID="lnkDelete" Text="Delete" runat="server"/>
</ItemTemplate>
</asp:TemplateField>--%>
</Columns>
</asp:GridView>
<asp:Button ID="btnExport" runat="server" Text="Export To PDF" OnClick = "ExportToPDF" />
<asp:Button ID="btnPrintAll" runat="server" Text="Print All Pages" OnClick = "PrintAllPages" />
<asp:Button ID="btnPrintCurrent" runat="server" Text="Print Current Page" OnClick = "PrintCurrentPage" />
<script type="text/javascript">
$(function () {
$("[id*=grid1] [id*=btnDelete]").click(function () {
if (confirm("Do you want to delete this feedback?")) {
//Determine the GridView row within whose LinkButton was clicked.
var row = $(this).closest("tr");
//Look for the Hidden Field and fetch the CustomerId.
var no = parseInt(row.find("[id*=hdnEmpId]").val());
//Make an AJAX call to server side and pass the fetched CustomerId.
$.ajax({
type: "POST",
url: "feedback.aspx/DeleteCustomer",
data: '{no: ' + no + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (r) {
if (r.d) {
//Remove the row from the GridView.
row.remove();
//If the GridView has no records then display no records message.
if ($("[id*=grid1] td").length == 0) {
$("[id*=grid1] tbody").append("<tr><td colspan = '4' align = 'center'>No records found.</td></tr>")
}
alert("Customer Feedback has been deleted.");
}
}
});
}
return false;
});
});
</script>
protected void Page_Load(object sender, EventArgs e)
{
if (!this.Page.User.Identity.IsAuthenticated)
{
FormsAuthentication.RedirectToLoginPage();
}
if (!IsPostBack)
{
this.BindGrid();
}
}
private void BindGrid()
{
string conString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand cmd = new SqlCommand("SELECT * FROM feedback"))
{
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
sda.SelectCommand = cmd;
DataTable dt = new DataTable();
sda.Fill(dt);
grid1.DataSource = dt;
grid1.DataBind();
}
}
}
}
[WebMethod]
public static bool DeleteCustomer(int no)
{
string conString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
using (SqlConnection con = new SqlConnection(conString))
{
using (SqlCommand cmd = new SqlCommand("DELETE FROM feedback WHERE no = @no"))
{
cmd.Connection = con;
cmd.Parameters.AddWithValue("@no", no);
con.Open();
int rowsAffected = cmd.ExecuteNonQuery();
con.Close();
return rowsAffected > 0;
}
}
}
protected void OnPageIndexChanging(object sender, GridViewPageEventArgs e)
{
grid1.PageIndex = e.NewPageIndex;
this.BindGrid();
}
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
protected void ExportToPDF(object sender, EventArgs e)
{
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter hw = new HtmlTextWriter(sw))
{
//To Export all pages
grid1.AllowPaging = false;
this.BindGrid();
grid1.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Feedback Report.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Write(pdfDoc);
Response.End();
}
}
}
protected void PrintCurrentPage(object sender, EventArgs e)
{
grid1.PagerSettings.Visible = false;
grid1.DataBind();
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
grid1.RenderControl(hw);
string gridHTML = sw.ToString().Replace("\"", "'")
.Replace(System.Environment.NewLine, "");
StringBuilder sb = new StringBuilder();
sb.Append("<script type = 'text/javascript'>");
sb.Append("window.onload = new function(){");
sb.Append("var printWin = window.open('', '', 'left=0");
sb.Append(",top=0,width=1000,height=600,status=0');");
sb.Append("printWin.document.write(\"");
sb.Append(gridHTML);
sb.Append("\");");
sb.Append("printWin.document.close();");
sb.Append("printWin.focus();");
sb.Append("printWin.print();");
sb.Append("printWin.close();};");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "GridPrint", sb.ToString());
grid1.PagerSettings.Visible = true;
grid1.DataBind();
}
protected void PrintAllPages(object sender, EventArgs e)
{
grid1.AllowPaging = false;
grid1.DataBind();
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
grid1.RenderControl(hw);
string gridHTML = sw.ToString().Replace("\"", "'")
.Replace(System.Environment.NewLine, "");
StringBuilder sb = new StringBuilder();
sb.Append("<script type = 'text/javascript'>");
sb.Append("window.onload = new function(){");
sb.Append("var printWin = window.open('', '', 'left=0");
sb.Append(",top=0,width=1000,height=600,status=0');");
sb.Append("printWin.document.write(\"");
sb.Append(gridHTML);
sb.Append("\");");
sb.Append("printWin.document.close();");
sb.Append("printWin.focus();");
sb.Append("printWin.print();");
sb.Append("printWin.close();};");
sb.Append("</script>");
ClientScript.RegisterStartupScript(this.GetType(), "GridPrint", sb.ToString());
grid1.AllowPaging = true;
grid1.DataBind();
}
}
}