PDA

View Full Version : سوال: چاپ کردن اطلاعات یک dataGridView



HosseinProgrammer
جمعه 09 بهمن 1388, 23:40 عصر
سلام. چطور میشه اطلاعات موجود در یک dataGridView را چاپ کرد؟

اگر زود جواب بدین ممنون میشم. چون خیلی عجله دارم.

ممنون از لطفتون.:چشمک:

hakelberfin
شنبه 10 بهمن 1388, 01:10 صبح
http://www.codeproject.com/info/search.aspx?artkw=Print+DataGridView

fazelgholi
شنبه 10 بهمن 1388, 04:04 صبح
ابتدا یه کریستال ریپورت به پروژه اضافه می کنید و (کریستال را از جدول مورد نظر انتخاب می کنیدو سپس همانند کد نمایش اطلاعات در دیتا گرید کد زیر را می نویسید
Conn.Open();
ReportDocument report = new ReportDocument();
string reportPath = Application.StartupPath;
reportPath += "\\hesabresy.rpt";
report.Load(reportPath);
if (label2.Text != "")
{
query = "select * from hesabresy,hdriv where hesabresy.تاریخ between '" + label2.Text + "' and '" + label3.Text + "' and hesabresy.[نام راننده]='" + label1.Text + "' and hesabresy.[شماره بارنامه]!=" + 0 + " and hdriv.[نام راننده]='" + label1.Text + "' ";
}
else
{
query = "select * from hesabresy,hdriv where hesabresy.[نام راننده]='" + label1.Text + "'and hesabresy.[شماره بارنامه]!=" + 0 + " and hdriv.[نام راننده]='" + label1.Text + "' ";
}
try
{
SqlDataAdapter adepter = new SqlDataAdapter(query, Conn);
DataSet Ds = new DataSet();
adepter.Fill(Ds);
// dataGridView1.DataSource = Ds.Tables[0];
report.SetDataSource(Ds.Tables[0]);

crystalReportViewer1.ReportSource = report;
}
catch { MessageBox.Show("مشکل در چاپ", "خطا"); }
Conn.Close();

rezatati
شنبه 10 بهمن 1388, 10:30 صبح
با سلام خدمت دوستان
با این کلاسی که آپلود کردم می تونی خیلی راحت دیتا گرید رو چاپ کنی البته من تغییرش دادم و الان راست به چپ کار می کنه فقط تو بعضی از موارد که متن و عدد باهم قاطی هستش درست نشون نمیده اگه تو این مورد هم گیر کردی بهم بگو تا راهنماییت کنم
البته ناگفته نماند که من یک سطر در بالای صحفه چاپ به عنوان تاریخ و سر تیتر هم بهش اضافه کردم
این هم نحوه چاپ با کلاس تغییر یافته ولی اول مقاله اصلی رو بخون بعد از این هم می تونی استفاده کنی


printer.SubTitle ="بسمه تعالی";
printer.DateLine ="تاریخ تهیه گزارش: " + MainForm.TodayDate ;
printer.FirstLineAlignment = StringAlignment.Center;
printer.FirstLine = "لیست ";
printer.DateLineAlignment = StringAlignment.Far;
printer.PrintPreviewDataGridView(dataGridView1);ا ین هم از لینک اصلی مقاله که گفته چه جوری ازش استفاده کنین
http://www.codeproject.com/KB/printing/DGVPrinter.aspx