PDA

View Full Version : آموزش نحوه پرینت گرفتن از محتویات DatagirdView



mortaza94
شنبه 14 بهمن 1391, 11:29 صبح
روشهای زیادی برای پرینت گرفتن از محتویات Datagird وجود دارد.در این پست قصد دارم که شما را با دو روش در این مورد آشنا کنم.روش اول با استفاده از کنترل PrintDocument و روش دوم استفاده از یک کلاس آماده برای این کار است.






روش اول : استفاده از کنترل PrintDocument
برای این کار ابتدا از قسمت ToolBox و قسمت Printing یک PrintDocument به پروژه اضافه می کنیم.
http://persianit.net/wp-content/uploads/2013/01/datagridview-print.jpg (http://persianit.net/wp-content/uploads/2013/01/datagridview-print.jpg)حال یک Button به برنامه اضافه می کنیم و در رویداد (Event) کلیک(click) از Button کد زیر را وارد کنید :
private void Button1_Click(object sender, EventArgs e)
{
printDocument1.Print();
}


در نهایت در رویداد PrintPage از کنترل PrintDocument کد زیر را وارد کنید :
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
Bitmap bm = new Bitmap(this.dataGridView1.Width, this.dataGridView1.Height);
dataGridView1.DrawToBitmap(bm, new Rectangle(0, 0, this.dataGridView1.Width, this.dataGridView1.Height));
e.Graphics.DrawImage(bm, 0, 0);
}


روش دوم : استفاده از یک کلاس آماده
جهت این کار ، ابتدا یک Button در برنامه قرار دهید.این کلاس را در برنامه‌تان قرار دهید.ممکن است خطا بدهد که بخاطر تغییر Name از Datagird باشد.بعد با وارد کردن کدهایی که در فایل متنی Usage که در فایل دانلودی موجود است در رویداد Click دکمه پرینت میتوانید از Datagrid پرینت بگیرید.به همین راحتی.

دانلود کلاس و فایل Usage کلاس (http://persianit.net/uploads/2013/01/DataGridPrinter.zip) دانلود یک مثال آموزشی (http://persianit.net/uploads/2013/01/printofdatagird.zip)

kebriya
چهارشنبه 25 بهمن 1391, 10:29 صبح
ممنون. فقط اگه میشه بگین چجوری بالای صفحه تاریخ روز و متن بنویسم؟