Here i am binding Gridview In the Page_Load event
Out Put :
ASPX Page :
<%@ Page
Title="Home
Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs"
Inherits="ExpGvDataToPDF._Default"
%>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<center>
<asp:Button ID="btnExport"
runat="server"
Text="Export To
PDF" OnClick="btnExport_Click"/>
<br />
<br />
<asp:GridView ID="ExpGvToPDFControl"
runat="server"
AllowPaging="True"
AutoGenerateColumns="false" BackColor="White" BorderColor="#CC9966" BorderStyle="None" BorderWidth="1px"
CellPadding="4"
onpageindexchanging="ExpGvToPDFControl_PageIndexChanging">
<Columns>
<asp:BoundField DataField="empid" HeaderText="EmpID" />
<asp:BoundField DataField="fname"
HeaderText="FirstName"
/>
<asp:BoundField DataField="lname"
HeaderText="LastName"
/>
<asp:BoundField DataField="qualification"
HeaderText="Qualifi"
/>
<asp:BoundField DataField="designation"
HeaderText="Designa"
/>
<asp:BoundField DataField="sal"
HeaderText="Salary"
/>
<asp:BoundField DataField="DeptID"
HeaderText="DeptID"
/>
<asp:BoundField DataField="empmail"
HeaderText="MailID"
/>
</Columns>
<FooterStyle BackColor="#FFFFCC"
ForeColor="#330099"
/>
<HeaderStyle BackColor="#990000"
Font-Bold="True"
ForeColor="#FFFFCC"
/>
<PagerStyle BackColor="#FFFFCC"
ForeColor="#330099"
HorizontalAlign="Center"
/>
<RowStyle BackColor="White"
ForeColor="#330099"
/>
<SelectedRowStyle
BackColor="#FFCC66"
Font-Bold="True"
ForeColor="#663399"
/>
<SortedAscendingCellStyle
BackColor="#FEFCEB"
/>
<SortedAscendingHeaderStyle
BackColor="#AF0101"
/>
<SortedDescendingCellStyle
BackColor="#F6F0C0"
/>
<SortedDescendingHeaderStyle
BackColor="#7E0000"
/>
</asp:GridView>
</center>
</asp:Content>
Code Behind File :
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace ExpGvDataToPDF
{
public partial class _Default :
System.Web.UI.Page
{
private string
constring = ConfigurationManager.ConnectionStrings["myconstring"].ConnectionString;
SqlDataAdapter da;
protected void
Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindGrid();
}
}
private void
BindGrid()
{
try
{
DataSet ds = new
DataSet();
da = new SqlDataAdapter("select * from EMPTable", constring);
da.Fill(ds, "GetEmpInfo");
ExpGvToPDFControl.DataSource = ds.Tables[0];
ExpGvToPDFControl.DataBind();
}
catch (Exception
ex)
{
string
ErrMsg = ex.Message;
}
}
protected void
btnExport_Click(object sender, EventArgs e)
{
try
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition",
"attachment;filename=EmpDetails.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
ExpGvToPDFControl.AllowPaging = false;
BindGrid();
ExpGvToPDFControl.RenderControl(hw);
ExpGvToPDFControl.HeaderRow.Style.Add("width",
"15%");
ExpGvToPDFControl.HeaderRow.Style.Add("font-size", "10px");
ExpGvToPDFControl.Style.Add("text-decoration",
"none");
ExpGvToPDFControl.Style.Add("font-family",
"Arial, Helvetica, sans-serif;");
ExpGvToPDFControl.Style.Add("font-size",
"8px");
StringReader sr = new StringReader(sw.ToString());
iTextSharp.text.Document pdfDoc =
new iTextSharp.text.Document(PageSize.A4, 7f, 7f, 7f, 0f);
iTextSharp.text.html.simpleparser.HTMLWorker
htmlparser = new
iTextSharp.text.html.simpleparser.HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc,
Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
}
catch (Exception
ex)
{
string ErrMsg = ex.Message;
}
}
public override void VerifyRenderingInServerForm(Control control)
{
// verifies the control is rendered here
}
protected void
ExpGvToPDFControl_PageIndexChanging(object
sender,
System.Web.UI.WebControls.GridViewPageEventArgs e)
{
ExpGvToPDFControl.PageIndex = e.NewPageIndex;
BindGrid();
}
}
}
Errors 1 :
Control 'MainContent_ExpGvToPDFControl' of type 'GridView' must be placed inside a form tag with runat=server.
public override void VerifyRenderingInServerForm(Control control)
{
// verifies the control is rendered here
}
Why should we again apply the styles and Background to Gridview for PDF Export
ReplyDeleteOk...but the PDF that is created is only for the first of three pages. How to generate PDF of *all three* pages???
ReplyDelete