سلام برنامه نویسان عزیز
می خواستم ببینم روشی کوتاهی هست برای اینکه اطلاعات داخل datagridview را چاپ کرد با هر روشی بود مهم نیست crystal report یا print preview یا هر روش دیگری با تشکر
سلام
به نقل از آقای علی سعید در انجمن مجید آنلاین
................................
کنترل DataGridView برای نمایش و ویرایش داخل فرم طراحی شده و برای چاپ روی کاغذ کیفیت و امکانات مناسبی
نداره، می توانید چاپ اش کنید، اما کیفیت مناسبی نخواهد داشت :
کد:
private void Form1_Load(object sender, EventArgs e)
{
System.Drawing.Printing.PrintDocument doc = new System.Drawing.Printing.PrintDocument();
doc.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(doc_PrintPage);
doc.Print();
}
void doc_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
DataGridView grd = dataGridView1;
Bitmap bmp = new Bitmap(grd.Width, grd.Height, grd.CreateGraphics());
grd.DrawToBitmap(bmp, new Rectangle(0, 0, grd.Width, grd.Height));
RectangleF bounds = e.PageSettings.PrintableArea;
float factor = ((float)bmp.Height / (float)bmp.Width);
e.Graphics.DrawImage(bmp, bounds.Left, bounds.Top, bounds.Width, factor * bounds.Width);
}
بهتر است که از MicrosoftReportViewer استفاده کنید و یک Report مشابه جدول DataGridView بسازید
و بجای DataGridView آنرا چاپ کنید.
....................................
به نقل از خودم:
توی سایت های خارجی گشتم، اکثرا با استفاده از توابع GDI+ جدول موجود در dataGrid رو ترسیم می کردن و بعدش پرینت میکردن، که البته کدنویسیش طولانیه.
موفق باشید
سلام
آره من هم تو سایت های خارجی گشتم کدهاش خیلی طولانی بود برای همین گفتم روش کوتاهی می خوام
ولی ممنون که کمک کردی کدی که گفتی عالی بود
موفق باشید