PDA

View Full Version : سوال: مشکل در تبدیل DataGridView به pdf



maral_23
سه شنبه 22 مرداد 1392, 22:13 عصر
سلام دوستان
توی برنامم یه کد گذاشتم برای ذخیره اطلاعات گرید ویو به pdf
این کد فقط در صورتی درست عمل میکنه که اطلاعات داخل گرید ویو لاتین باش
ستون هایی که مقادیر فارسی هست رو ذخیره نمی کنه !!!

این نمونه کدی هست که در برنامم گذاشتم



private





void btSavePdf_Click(object sender, EventArgs e)

{

ds.Tables.Add(dt);





FolderBrowserDialog FB = new FolderBrowserDialog();





if (FB.ShowDialog() == DialogResult.OK)

{

iTextSharp.text.



Document document = new iTextSharp.text.Document();





PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(FB.SelectedPath + @"\" + System.DateTime.Now.Hour.ToString() + "_" +

System.



DateTime.Now.Minute.ToString() + "_" + System.DateTime.Now.Second.ToString() + ".pdf", FileMode.Create));

document.Open();

iTextSharp.text.



Font font = iTextSharp.text.FontFactory.GetFont("Tahoma", 8, iTextSharp.text.Color.BLUE);





PdfPTable table = new PdfPTable(dt.Columns.Count);





float[] widths = new float[dt.Columns.Count];





for (int i = 0; i < dt.Columns.Count; i++)

widths[i] = 4F;

table.SetWidths(widths);

table.WidthPercentage = 100;





PdfPCell cell = new PdfPCell(new Phrase("Products"));

cell.Colspan = dt.Columns.Count;





foreach (DataColumn c in dt.Columns)

table.AddCell(



new Phrase(c.ColumnName, font));





if (dt.Rows.Count > 0)





for (int j = 0; j < dt.Rows.Count;j++ )





for (int f = 0; f < dt.Columns.Count; f++)

table.AddCell(



new Phrase(dt.Rows[j][f].ToString(), font));



document.Add(table);

document.Close();

}

}

mousa1992
سه شنبه 22 مرداد 1392, 22:15 عصر
از کریستال ریپورت میتونی استفاده کنی :چشمک:

gilas1368
سه شنبه 22 مرداد 1392, 22:29 عصر
این ویدیو را هم ببینید
فک میکنم بتونه کنکتون کنه

http://www.youtube.com/watch?v=9pXKQFhqOyY

mehdikhazaei
چهارشنبه 23 مرداد 1392, 06:19 صبح
استیمول سافت ریپورت هم امکانات جالب و خوبی برای گزارش گیری داره اگه خواستی تو گوگل سرچ کن ، لینک دانلود و پی دی اف آموزشی زیاد داره.:متفکر:

AliSaeedi_v
چهارشنبه 23 مرداد 1392, 08:58 صبح
سلام..من هم استیمول سافت رو پیشنهاد میکنم..خیلی کارش درسته...

massoudghb
چهارشنبه 23 مرداد 1392, 09:37 صبح
سلام . من با همه ی این ابزارها کار کردم ،بهترین گزینه برای شما (در صورتی که بخواهین طراحی گزارشتون در Code Behind باشه ) استفاده از Syncfusion هست .