Click here to Skip to main content
15,901,035 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
sir,
bellow is my code for generating pdf report.here in my ff_fillAddress(); includes office address and residence address.i want to display these address separately in my pdf report based on condition like Add_Type="office".if any one knows the answer please help me to find the solution


public PdfPTable PdfPTable_Employeeaddressdetails(Document document, PdfWriter writer,string letter)
        {
            DataTable dt = ff_fillAddress();
            
                
                ////string O = dt.Rows[0]["Add_Type"].ToString();

                System.Data.DataView view = new System.Data.DataView(dt);
                    System.Data.DataTable selected = view.ToTable("Selected", false, dt.Columns[10].ColumnName.ToString(), dt.Columns[3].ColumnName.ToString(), dt.Columns[4].ColumnName.ToString(), dt.Columns[5].ColumnName.ToString(), dt.Columns[6].ColumnName.ToString(), dt.Columns[7].ColumnName.ToString(), dt.Columns[8].ColumnName.ToString(), dt.Columns[9].ColumnName.ToString());

                    iTextSharp.text.pdf.PdfPTable PdfTableN = new iTextSharp.text.pdf.PdfPTable(selected.Columns.Count);
                    PdfTableN.WidthPercentage = 90f;


                    iTextSharp.text.pdf.PdfPCell pcel1 = new PdfPCell(new Phrase(new Chunk("Address Type", textfont)));
                    pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                    pcel1.HorizontalAlignment = 1;
                    pcel1.Border = 0;
                    PdfTableN.AddCell(pcel1);
                    pcel1 = new PdfPCell(new Phrase(new Chunk("Address1", textfont)));
                    pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                    pcel1.HorizontalAlignment = 1;
                    pcel1.Border = 0;
                    PdfTableN.AddCell(pcel1);
                    pcel1 = new PdfPCell(new Phrase(new Chunk("Address2", textfont)));
                    pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                    pcel1.HorizontalAlignment = 1;
                    pcel1.Border = 0;
                    PdfTableN.AddCell(pcel1);
                    pcel1 = new PdfPCell(new Phrase(new Chunk("Address3", textfont)));
                    pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                    pcel1.HorizontalAlignment = 1;
                    pcel1.Border = 0;
                    PdfTableN.AddCell(pcel1);
                    pcel1 = new PdfPCell(new Phrase(new Chunk("PO Box", textfont)));
                    pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                    pcel1.HorizontalAlignment = 1;
                    pcel1.Border = 0;
                    PdfTableN.AddCell(pcel1);
                    pcel1 = new PdfPCell(new Phrase(new Chunk("Phone", textfont)));
                    pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                    pcel1.HorizontalAlignment = 1;
                    pcel1.Border = 0;
                    PdfTableN.AddCell(pcel1);
                    pcel1 = new PdfPCell(new Phrase(new Chunk("Mobile", textfont)));
                    pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                    pcel1.HorizontalAlignment = 1;
                    pcel1.Border = 0;
                    PdfTableN.AddCell(pcel1);
                    pcel1 = new PdfPCell(new Phrase(new Chunk("Email", textfont)));
                    pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                    pcel1.HorizontalAlignment = 1;
                    pcel1.Border = 0;
                    PdfTableN.AddCell(pcel1);
              
                  
                        for (int rowss = 0; rowss < selected.Rows.Count; rowss++)
                        {
                            for (int columnn = 0; columnn < selected.Columns.Count; columnn++)
                            {
                                iTextSharp.text.pdf.PdfPCell pcel2 = new PdfPCell();
                                //if (selected.Rows[rowss][columnn].ToString() == letter)
                                //{
                                    //pcel2 = new PdfPCell(new Phrase(mode, textfont1));
                                //}

                                //else
                                //{
                                    pcel2 = new PdfPCell(new Phrase(new Chunk(selected.Rows[rowss][columnn].ToString(), textfont1)));
                                //}

                                pcel2.HorizontalAlignment = 1;
                                pcel2.Border = 0;
                                PdfTableN.AddCell(pcel2);
                            }
                        }
                    
                    
                   
                    if (selected.Rows.Count != 0)
                    {
                        document.Add(PdfTableN);
                    }

                    else
                    {
                        Paragraph err = new Paragraph("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t NA");
                        document.Add(err);

                    }
                

                    return PdfTableN;






                
        }<pre lang="c#">
Posted
Updated 15-Dec-13 18:13pm
v2

hiiiii
i used this code while creating pdf report , u just need to fill data in datatable ,it is so easy to copy datatable data to pdf file ,here i created table , and all data from datatable written on pdf file , i hope this will helpful for u ,reply me


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.Odbc;
//using PdfFileWriter;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp;
using iTextSharp.xmp;
using System.Diagnostics;
using System.IO;

namespace ActivityDetails
{
    public partial class ProjectwiseReport : Form
    {
        public ProjectwiseReport()
        {
            InitializeComponent();
        }
        OdbcConnection con = new OdbcConnection(Globaldata.ConnectionString);
        OdbcCommand cmd = new OdbcCommand();
        private void ProjectwiseReport_Load(object sender, EventArgs e)
        {
            con.Open();
            
            
        }       

        

        private void CreatePdf_Click(object sender, EventArgs e)
        {            
                try
                {
                    Globaldata.SQLQuery = "Select * from ProjectMaster";
                    DataSet ds = new DataSet();
                    DataTable datatable = ds.Tables.Add("Table");
                    cmd.CommandText = Globaldata.SQLQuery;
                    OdbcDataAdapter da = new OdbcDataAdapter(Globaldata.SQLQuery, con);
                    da.Fill(ds);
                    dataGridView1.DataSource = ds.Tables[0];

                    Document document = new Document();
                    PdfWriter.GetInstance(document, new FileStream("e:\\abcd.pdf", FileMode.Create)); //???????????  
                    document.Open();
                    PdfPTable table = new PdfPTable(datatable.Columns.Count);

                    for (int i = 0; i < datatable.Rows.Count; i++)
                    {
                        for (int j = 0; j < datatable.Columns.Count; j++)
                        {
                            table.AddCell(new Phrase(datatable.Rows[i][j].ToString()));
                        }
                    }
                    document.Add(table);  //??table

                    document.Close();
                    
                    MessageBox.Show("pdf created successfully..");

                    Process p = new Process();
                    p.StartInfo = new ProcessStartInfo("e:\\abcd.pdf");
                    p.Start();

                    


                }
                catch (DocumentException ex)
                {
                    MessageBox.Show("error...");
                } 
            
        }




        

        
    }
}
 
Share this answer
 
Comments
vineethnair 16-Dec-13 1:20am    
sir,my code generate pdf succesfully but i want to separate the adress
vineethnair 16-Dec-13 5:50am    
sir,
I found the solution.thanks for your reply
[no name] 17-Dec-13 23:45pm    
most welcome ,sir
public PdfPTable PdfPTable_Employeeaddressdetails(Document document, PdfWriter writer,string mode,string letter)
       {
           DataTable dtresult = ff_fillAddress();
           var result = from r in dtresult.AsEnumerable()
                        where r.Field<string>("Add_Type") == letter

                        select r;

           DataTable dt = result.CopyToDataTable();

               System.Data.DataView view = new System.Data.DataView(dt);

                   System.Data.DataTable selected = view.ToTable("Selected", false, dt.Columns[10].ColumnName.ToString(), dt.Columns[3].ColumnName.ToString(), dt.Columns[4].ColumnName.ToString(), dt.Columns[5].ColumnName.ToString(), dt.Columns[6].ColumnName.ToString(), dt.Columns[7].ColumnName.ToString(), dt.Columns[8].ColumnName.ToString(), dt.Columns[9].ColumnName.ToString());

                   iTextSharp.text.pdf.PdfPTable PdfTableN = new iTextSharp.text.pdf.PdfPTable(selected.Columns.Count);
                   PdfTableN.WidthPercentage = 90f;


                   iTextSharp.text.pdf.PdfPCell pcel1 = new PdfPCell(new Phrase(new Chunk("Address Type", textfont)));
                   pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                   pcel1.HorizontalAlignment = 1;
                   pcel1.Border = 0;
                   PdfTableN.AddCell(pcel1);
                   pcel1 = new PdfPCell(new Phrase(new Chunk("Address1", textfont)));
                   pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                   pcel1.HorizontalAlignment = 1;
                   pcel1.Border = 0;
                   PdfTableN.AddCell(pcel1);
                   pcel1 = new PdfPCell(new Phrase(new Chunk("Address2", textfont)));
                   pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                   pcel1.HorizontalAlignment = 1;
                   pcel1.Border = 0;
                   PdfTableN.AddCell(pcel1);
                   pcel1 = new PdfPCell(new Phrase(new Chunk("Address3", textfont)));
                   pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                   pcel1.HorizontalAlignment = 1;
                   pcel1.Border = 0;
                   PdfTableN.AddCell(pcel1);
                   pcel1 = new PdfPCell(new Phrase(new Chunk("PO Box", textfont)));
                   pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                   pcel1.HorizontalAlignment = 1;
                   pcel1.Border = 0;
                   PdfTableN.AddCell(pcel1);
                   pcel1 = new PdfPCell(new Phrase(new Chunk("Phone", textfont)));
                   pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                   pcel1.HorizontalAlignment = 1;
                   pcel1.Border = 0;
                   PdfTableN.AddCell(pcel1);
                   pcel1 = new PdfPCell(new Phrase(new Chunk("Mobile", textfont)));
                   pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                   pcel1.HorizontalAlignment = 1;
                   pcel1.Border = 0;
                   PdfTableN.AddCell(pcel1);
                   pcel1 = new PdfPCell(new Phrase(new Chunk("Email", textfont)));
                   pcel1.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                   pcel1.HorizontalAlignment = 1;
                   pcel1.Border = 0;
                   PdfTableN.AddCell(pcel1);

                       for (int rowss = 0; rowss < selected.Rows.Count; rowss++)
                       {
                           for (int columnn = 0; columnn < selected.Columns.Count; columnn++)
                           {
                               iTextSharp.text.pdf.PdfPCell pcel2 = new PdfPCell();
                               if (selected.Rows[rowss][columnn].ToString() == letter)
                               {
                                   pcel2 = new PdfPCell(new Phrase(mode, textfont1));
                               }

                               else
                               {
                                   pcel2 = new PdfPCell(new Phrase(new Chunk(selected.Rows[rowss][columnn].ToString(), textfont1)));
                               }

                               pcel2.HorizontalAlignment = 1;
                               pcel2.Border = 0;
                               PdfTableN.AddCell(pcel2);
                           }
                       }


                   if (selected.Rows.Count != 0)
                   {
                       document.Add(PdfTableN);
                   }

                   else
                   {
                       Paragraph err = new Paragraph("\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t NA");
                       document.Add(err);

                   }


                   return PdfTableN;

       }
PdfPTable_Employeeaddressdetails(pdfDoc, writer,"Office","O");
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900