中继器控制页面中的选定项目要导出为PDF文件 [英] selected items in repeater control page to be exported as PDF File

查看:53
本文介绍了中继器控制页面中的选定项目要导出为PDF文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



一段时间后,我们从客户那里收到了意外的要求.

我们都知道如何将整个RepeaterControl导出为PDF,但是他们想要不同的东西.如何将RepeaterControl中的选定复选框项导出为PDF文件

首先刚创建了我的Repeater控件并将其绑定,然后将复选框列添加到我的RepeaterControl中

我要在网页中导出PDF .....所以我在RepeaterControl中随机选择了一些项目,选定的复选框项目应导出为PDF文件...

请帮助我完成此任务.....请尽快
到目前为止,我已经做了这件事....如何将所选项目的循环条件置于转发器控制中

Hi,

Some time we get unexpected requirements from the client.

We all are aware of how to export whole repeatercontrol TO PDF but they wanted the different things.how to get the selected checkbox items in repeatercontrol to exported as PDF file

First just created my repeater control and bind it and add checkbox column to my repeatercontrol

I am having export PDF in my web page .....so i randomly select some items in repeatercontrol ,selected checkbox items should be exported as PDF File...

PLease help me in this task.....Please as soon as possible
This wat i have done so far....how to put the loop condition for selected items in repeater control

protected void Page_Load(object sender, EventArgs e)
      {
          try
          {
              string strCompanyName = string.Empty;
              string strBuscode = string.Empty;
              string strBrandName = string.Empty;
              string strBusGroup = string.Empty;
              int iPageNo = 1;
              int iStartPageNo = 0;
              int iEndPageNo = 10;
              strCompanyName = Request.QueryString["Companyname"];
              strBuscode = Request.QueryString["buscode"];
              strBrandName = Request.QueryString["brandname"];
              strBusGroup = Request.QueryString["busgroup"];
              if (Request.QueryString["page"] != null)
              {
                  iPageNo = Convert.ToInt32(Request.QueryString["page"]);
              }
              if (iPageNo > 0)
              {
                  iStartPageNo = (iPageNo - 1) * 10;
                  iEndPageNo = iStartPageNo + 10;

              }
              if (!(Page.IsPostBack))
              {
                  DataTable _dtPaged = new DataTable();
                  DataTable _dtResult = new DataTable();
                  clsCompanySearch objCompanyCLS = new clsCompanySearch();
                  if (!string.IsNullOrEmpty(strBuscode))
                  {
                      _dtResult = objCompanyCLS.CompanySearch_Business(strBuscode);

                  }
                  else if (!string.IsNullOrEmpty(strCompanyName))
                  {
                      _dtResult = objCompanyCLS.CompanySearch_ComanyName(strCompanyName);

                  }
                  else if (!string.IsNullOrEmpty(strBrandName))
                  {
                      _dtResult = objCompanyCLS.CompanySearch_Brands(strBrandName);
                  }
                  else
                  {
                      _dtResult = objCompanyCLS.CompanySearch_Business_group(strBusGroup);
                  }
                  ucPager.Visible = false;
                  if (_dtResult != null && _dtResult.Rows.Count > 10)
                  {
                      _dtPaged = _dtResult.Clone();
                      ucPager.PageCount = _dtResult.Rows.Count;
                      ucPager.Visible = true;
                      DataRow[] drSelected = _dtResult.Select("RowNo > " + iStartPageNo.ToString() + " and RowNo <= " + iEndPageNo.ToString());
                      foreach (DataRow item in drSelected)
                      {
                          _dtPaged.ImportRow(item);
                      }
                      Rpt_Company.DataSource = _dtPaged;
                      Rpt_Company.DataBind();
                  }
                  else if (_dtResult != null && _dtResult.Rows.Count > 0)
                  {
                      Rpt_Company.DataSource = _dtResult;
                    Rpt_Company.DataBind();
                  }
                  else
                  {
                      ucPager.Visible = false;
                      Rpt_Company.Visible = false;
                    //  pnlNoRecords.Visible = true;
                  }
              }
          }
          catch (Exception ex)
          {
              throw ex;
          }


          if (!Page.IsPostBack)
          {
              string _strName = string.Empty;
              _strName = "q";
              //_strName = Request.QueryString["_strName"];
              DataTable Print_Rep = new DataTable();
              clsCompanySearch objRep_Cls = new clsCompanySearch();
              Print_Rep = objRep_Cls.company_pdf(_strName);
              Rpt_Company.DataSource = Print_Rep;
              Rpt_Company.DataBind();
          }

      }


      protected void Rpt_Company_Search_no_tabs_ItemDataBound(object sender, RepeaterItemEventArgs e)
      {
          System.Web.UI.WebControls.Image img = (System.Web.UI.WebControls.Image)e.Item.FindControl("img_logo");
          Label lbl_memberno = (Label)e.Item.FindControl("lblmemberno");
          string memberno = lbl_memberno.Text.ToString().Trim();
          //string image = HttpContext.Current.Server.MapPath("~/_Images/Arab_Logos/") + memberno.ToString() + ".jpg";
          string image = HttpContext.Current.Server.MapPath("~/_Images/Arab_Logos/") + memberno.ToString() + ".jpg";

          if (File.Exists(image))
          {
              img.ImageUrl = "~/_Images/Arab_Logos/" + memberno.ToString() + ".jpg";
              img.Visible = true;
          }
          else
          {
              img.Visible = false;
          }
          //if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
          //{
          //    CheckBox chk = new CheckBox();
          //    chk = e.Item.FindControl("");
          //    if (chk.Checked)
          //    {

          //    }

          //}


      }
      //private void GetData()
      //{
      //    DataTable dt = new DataTable();
      //    if (ViewState["SelectedRecords"] != null)
      //        dt = (DataTable)ViewState["SelectedRecords"];
      //    else
      //        dt = CreateDatatable();
      //    CheckBox chkall=(CheckBox)Rpt_Company.HeaderTemplate.

      //}

      //private DataTable CreateDatatable()
      //{
      //    throw new NotImplementedException();
      //}


      protected void btnPDF_Click(object sender, EventArgs e)
      {

          try
          {
              DataTable dtData = new DataTable();
              int a = dtData.Rows.Count;
             // ViewState["Data"] = dtData;
               dtData = (DataTable)ViewState["CurrentPos"];

              DataTable dtResult = (DataTable)ViewState["Data"];


              for (int i = 0; i < Rpt_Company.Items.Count; i++)
              {


                  CheckBox ch = ((CheckBox)Rpt_Company.Items[i].FindControl("chkbox"));
                  dtData = dtResult.Clone();
                  if (ch.Checked == true)
                  {
                      string[] memberno = { "1002", "1003", "1006" };

                      DataRow dr = dtData.NewRow();


                      //var memberno=from memberno in
                      //dr["Companyname"] = ((Label)Rpt_Company.Items[i].FindControl("Lbl_title1")).Text;

                      //CheckBox cbxIsActive = item.FindControl("chkbox") as CheckBox;
                      //HiddenField hdfID = item.FindControl("recordID") as HiddenField;



                  }


              }

              Rpt_Company.DataSource = dtData;
              Rpt_Company.DataBind();
              Response.ContentType = "application/pdf";
              Response.AddHeader("content-disposition", "attachment;filename=Omania.pdf");
              Response.Cache.SetCacheability(HttpCacheability.NoCache);
              StringWriter sw = new StringWriter();
              HtmlTextWriter hw = new HtmlTextWriter(sw);
              this.Page.RenderControl(hw);
              StringReader sr = new StringReader(sw.ToString());
              Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
              HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
              PdfWriter.GetInstance(pdfDoc, Response.OutputStream);


              //string path = HttpContext.Current.Server.MapPath("~/_Images/Arab_Logos/");
              pdfDoc.Open();
              try
              {
                  HeaderFooter footer = new HeaderFooter(new Phrase("PAGE NUMBER:"), true)

                  {
                      Border = Rectangle.ALIGN_CENTER


                  };
                  pdfDoc.Footer = footer;


              }
              catch (Exception ex)
              {
                  Paragraph paragraph = new Paragraph("Error! " + ex.Message);

                  paragraph.SetAlignment("center");
                  Chunk text = paragraph.Chunks[0] as Chunk;
                  if (text != null)
                  {
                      text.Font.Color = Color.RED;

                  }
                  pdfDoc.Add(paragraph);
              }


              StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet();

              styles.LoadTagStyle("ol", "leading", "16,0");

              styles.LoadTagStyle("li", "face", "garamond");

              styles.LoadTagStyle("span", "size", "48px");

              styles.LoadTagStyle("body", "font-family", "times new roman");

              styles.LoadTagStyle("body", "font-size", "42px");



              htmlparser.Parse(sr);
              pdfDoc.Close();
              Response.Write(pdfDoc);
              Response.End();
              /* select items in checkboc*/



          }
          catch (Exception ex)
          {
              throw ex;
          }
      }
}

推荐答案

在以下位置关闭重复的问题:
Close the duplicate question at: checked items in repeater control to PDF[^]


这篇关于中继器控制页面中的选定项目要导出为PDF文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆