c# - Cannot get Gridview header on PDF in ASP.NET -
i trying add pdf asp page, takes value gridview onto pdf. however, can values apart header. there seem space on top nothing there. have practically copied code here.
html markup :
<asp:gridview id="gridview1" runat="server" autogeneratecolumns="false" cellpadding="4" forecolor="#333333" gridlines="none" width="100%" allowpaging="true" datakeynames="enrollecode" onpageindexchanging="gridview1_pageindexchanging" onrowcommand="gridview1_rowcommand" onrowdeleting="gridview1_rowdeleting" onselectedindexchanged="gridview1_selectedindexchanged" onrowediting="gridview1_rowediting" pagersettings-pagebuttoncount="20"> <alternatingrowstyle backcolor="white" forecolor="#284775" /> <columns> <asp:templatefield headertext="enrolee code" sortexpression="enrollecode"> <itemtemplate> <div style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100px"> <asp:label id="lblenrollecode" runat="server" text='<%# eval("enrollecode") %>' tooltip='<%# eval("enrollecode") %>' ></asp:label> </div> </itemtemplate> </asp:templatefield> <asp:templatefield headertext="enrolee name" sortexpression="enroleename"> <itemtemplate> <div style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100px"> <asp:label id="lblenroleename" runat="server" text='<%# eval("enroleename") %>' tooltip='<%# eval("enroleename") %>' ></asp:label> </div> </itemtemplate> </asp:templatefield> <asp:templatefield headertext="hmo" sortexpression="hmoname"> <itemtemplate> <div style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100px"> <asp:label id="lblhmoname" runat="server" text='<%# eval("hmoname") %>' tooltip='<%# eval("hmoname") %>'></asp:label> </div> </itemtemplate> </asp:templatefield> <asp:templatefield headertext="area council" sortexpression="areacouncil"> <itemtemplate> <div style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100px"> <asp:label id="lblareacouncil" runat="server" text='<%# eval("areacouncil") %>' tooltip='<%# eval("areacouncil") %>'></asp:label> </div> </itemtemplate> </asp:templatefield> <asp:templatefield headertext="main hospital" sortexpression="mainhospital"> <itemtemplate> <div style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100px"> <asp:label id="lblmainhospital" runat="server" text='<%# eval("mainhospital") %>' tooltip='<%# eval("mainhospital") %>'></asp:label> </div> </itemtemplate> </asp:templatefield> <asp:templatefield headertext="alt. hospital" sortexpression="alternatehospital"> <itemtemplate> <div style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100px"> <asp:label id="lblalternatehospital" runat="server" text='<%# eval("alternatehospital") %>' tooltip='<%# eval("alternatehospital") %>'></asp:label> </div> </itemtemplate> </asp:templatefield> <asp:templatefield headertext="d.o.b." sortexpression="date"> <itemtemplate> <div style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100px"> <asp:label id="lbldob" runat="server" text='<%# eval("dob","{0:dd/mm/yyyy}") %>' tooltip='<%# eval("dob","{0:dd/mm/yyyy}") %>'></asp:label> </div> </itemtemplate> </asp:templatefield> <asp:templatefield headertext="view"> <itemtemplate> <asp:imagebutton id="imgview" runat="server" commandargument='<%#eval("enrollecode") %>' commandname="view" imageurl="~/image/8.png" /> </itemtemplate> </asp:templatefield> <asp:templatefield headertext="edit"> <itemtemplate> <asp:imagebutton id="imgedit" runat="server" commandargument='<%#eval("enrollecode") %>' commandname="edit" imageurl="~/image/editbutton.png" /> </itemtemplate> </asp:templatefield> <asp:templatefield headertext="delete"> <itemtemplate> <asp:imagebutton id="imgdelete" runat="server" commandargument='<%#eval("enrollecode") %>' commandname="delete" imageurl="~/image/delete1.png" onclientclick="return confirm('do want delete?');" /> </itemtemplate> </asp:templatefield> </columns> <editrowstyle backcolor="#999999" /> <footerstyle backcolor="#5d7b9d" font-bold="true" forecolor="white" /> <headerstyle backcolor="#5d7b9d" font-bold="true" forecolor="white" /> <pagerstyle backcolor="#284775" forecolor="white" horizontalalign="center" /> <rowstyle backcolor="#f7f6f3" forecolor="#333333" horizontalalign="center" /> <selectedrowstyle backcolor="#e2ded6" font-bold="true" forecolor="#333333" /> <sortedascendingcellstyle backcolor="#e9e7e2" /> <sortedascendingheaderstyle backcolor="#506c8c" /> <sorteddescendingcellstyle backcolor="#fffdf8" /> <sorteddescendingheaderstyle backcolor="#6f8dae" /> </asp:gridview>
and namespaces added :
using itextsharp.text; using itextsharp.text.pdf; using itextsharp.text.html.simpleparser; using system.io; using system.web.ui.htmlcontrols;
my codes:
protected void button1_click(object sender, eventargs e) { using (stringwriter sw = new stringwriter()) { using (htmltextwriter hw = new htmltextwriter(sw)) { //to export pages gridview1.allowpaging = false; gridview1.showheader = true; this.bindgv(); gridview1.rendercontrol(hw); stringreader sr = new stringreader(sw.tostring()); document pdfdoc = new document(pagesize.a2, 10f, 10f, 10f, 0f); 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=gridviewexport.pdf"); response.cache.setcacheability(httpcacheability.nocache); response.write(pdfdoc); response.end(); } }
this working me using itextsharp 5.5.3
response.clear(); response.clearcontent(); response.clearheaders(); response.charset = string.empty; response.contenttype = "application/pdf"; response.addheader("content-disposition", "attachment;filename=gridviewexport.pdf"); response.cache.setcacheability(httpcacheability.nocache); page.response.buffer = false; using (stringwriter sw = new stringwriter()) { using (htmltextwriter hw = new htmltextwriter(sw)) { gridview1.allowpaging = false; gridview1.showheader = true; this.bindgv(); gridview1.rendercontrol(hw); using (stringreader sr = new stringreader(sw.tostring())) { document pdfdoc = new document(pagesize.a2, 10f, 10f, 10f, 0f); htmlworker htmlparser = new htmlworker(pdfdoc); memorystream ms = new memorystream(); pdfwriter.getinstance(pdfdoc, ms); pdfdoc.open(); htmlparser.parse(sr); pdfdoc.close(); byte[] bytes = ms.toarray(); response.addheader("content-length", bytes.length.tostring()); response.binarywrite(bytes); response.close(); } } }
Comments
Post a Comment