I am using the below code to export the list to PDF. However my list has different pages and this code only works for the current page. How can I modify this to export list items of all pages.
private DataTable SearchItem()
{
DataTable dt = new DataTable();
SPSecurity.RunWithElevatedPrivileges(delegate
{
SPList list = SPContext.Current.Web.Lists["Spreadsheet list"];
string query = null;
SPQuery qry = new SPQuery(list.DefaultView);
//Set export for a particular view
//Guid guidViewID = list.Views["View 1"].ID;
//SPQuery qry = new SPQuery(list.Views[guidViewID]);
int iCnt = 0;
try
{
qry.ViewFields = "<FieldRef Name='Definition' /><FieldRef Name='Comments' />";
qry.Query = query;
qry.ViewFieldsOnly = true;
dt = list.GetItems(qry).GetDataTable();
}
catch (Exception ex) { Response.Write(ex.Message); }
});
return dt;
}
protected void Button1_Click(object sender, EventArgs e)
{
DataTable dt1 = SearchItem();
//Get the data from database into datatable
GridView GridView1 = new GridView();
GridView1.AllowPaging = false;
GridView1.DataSource = dt1;
GridView1.DataBind();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition","attachment;filename=DataTable.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
GridView1.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
}