PDA

View Full Version : سوال: کار با کلاس پرینت دیتاگریدویو



mhsmity
شنبه 07 اردیبهشت 1392, 00:35 صبح
سلام
کلاس قبلی قابلیت چاپ تصویر داخل گریدویو رو نداشت.
کلاس رو عوض کردم. ولی تو ظاهر صفحه چاپ شده مشکل دارم .
کلاس رو برای دانلود گذاشتم لطفا یه نگاه بینازید و بنده رو در سفارش سازی ستون های راهنمای کنید. خروجی این کلاس تصویر سمت راست هستش.
منظور اینه بتونم جدول تصویر سمت راست رو مثل جدول تصویر چپ طراحی کنم.

mhsmity
شنبه 07 اردیبهشت 1392, 16:52 عصر
سلام کسی هست بنده رو راهنمای کنه ؟

khokhan
شنبه 07 اردیبهشت 1392, 17:00 عصر
سلام کسی هست بنده رو راهنمای کنه ؟
درود بر شما

دوست عزیز حالا مشکل شما با این کلاس سر ارسال عکسه یا زیباسازی محیط نمایش گزارش ؟؟؟؟؟؟؟؟؟؟؟

mhsmity
شنبه 07 اردیبهشت 1392, 18:14 عصر
درود بر شما

دوست عزیز حالا مشکل شما با این کلاس سر ارسال عکسه یا زیباسازی محیط نمایش گزارش ؟؟؟؟؟؟؟؟؟؟؟
از توجه شما ممنونم
طبق فرمایش خودتون منظورم زیبا سازی محیط نمایش گزارش هستش.

مثلا خطوط جدول رو پر رنگ تر کنم یا رنگ این خطوط رو عوض کنم .
طبق دو تصویر که گذاشتم. تصویر سمت راست رو مثل تصویر سمت چپ کنم.

khokhan
شنبه 07 اردیبهشت 1392, 21:40 عصر
سلام
کلاس حاضر متدی برای رنگ آمیزی ردیفها و ستونها درش تعریف نشده تنها در ابتدای آن چارچوب سلها و نوع فونت و ترتیب قرار گیری عبارات گنجانده شده

البته اگه کلاس قبلیتون رو هم قرار می دادین شاید می شد ترکیبی از این دوکلاس رو بوجود آورد

mhsmity
شنبه 07 اردیبهشت 1392, 22:01 عصر
یعنی اصلا روی Border ستون های (خط ها) نمی تونیم تغییر ایجاد کنیم.

این هم کلاس تصویر سمت چپ

khokhan
شنبه 07 اردیبهشت 1392, 23:05 عصر
یعنی اصلا روی Border ستون های (خط ها) نمی تونیم تغییر ایجاد کنیم.

این هم کلاس تصویر سمت چپ

با سلام

من با استفاده از این کد در رویداد کلیک دکمه چاپ کلاسی رو که در ابتدای تاپیک گذاشتین فراخوانی کردم


this.Cursor = Cursors.WaitCursor;
DGVPrinterHelper.DGVPrinter printer = new DGVPrinterHelper.DGVPrinter();
printer.CellAlignment = StringAlignment.Center;
printer.CellFormatFlags = StringFormatFlags.DirectionRightToLeft;

printer.HeaderCellAlignment = StringAlignment.Center;
printer.HeaderCellFormatFlags = StringFormatFlags.DirectionRightToLeft;
printer.PageNumberAlignment = StringAlignment.Near;
printer.PageNumberInHeader = true;
printer.PageNumberOnSeparateLine = true;
printer.PageNumbers = true;
printer.PorportionalColumns = true;

printer.Title = "چاپ فرم مشخصات ";
printer.TitleAlignment = StringAlignment.Center;
printer.TitleColor = Color.Blue;
printer.TitleFont = new Font("Arial", 14);
printer.TitleFormatFlags = StringFormatFlags.DirectionRightToLeft;

printer.SubTitle = " ";
printer.SubTitleAlignment = StringAlignment.Center;
printer.SubTitleColor = Color.Blue;
printer.SubTitleFont = new Font("Arial", 14);
printer.SubTitleFormatFlags = StringFormatFlags.DirectionRightToLeft;

//printer.Footer = "Footer";
//printer.FooterAlignment = StringAlignment.Center;
//printer.FooterColor = Color.Blue;
//printer.FooterFont = new Font("Arial", 14);
//printer.FooterFormatFlags = StringFormatFlags.DirectionRightToLeft;
//printer.FooterSpacing = 10;

printer.PrintPreviewDataGridView(dataGridView1);

this.Cursor = Cursors.Default;

و محتوای گرید در هنگام چاپ به این شکل بود وفکر می کنم شما هم به دنبال این مسئله بودین

mhsmity
شنبه 07 اردیبهشت 1392, 23:51 عصر
از شما خیلی متشکرم که به بنده و سوال بنده توجه دارین
دقت کنین دو کلاس وجود دارد.
کلاس اولی:
تصویر سمت چپ ، قالب این کلاس مد نظر بنده هستش ولی این کلاس قابلیت چاپ تصاویر رو نداره و بنده از این کلاس استفاده نمی کنم. شما ظاهرا از این کلاس استفاده کردین. دانلود کلاس اولی

(http://barnamenevis.org/attachment.php?attachmentid=103402&d=1367085788)کلاس دومی:
تصویر سمت راست ، بنده فقط می خوام ضخامت ستون های این کلاس رو حذف کنم یعنی روی Border خطوط جدولم کنترل داشته باشم. همین
دانلود کلاس دومی (http://barnamenevis.org/attachment.php?attachmentid=103366&d=1367008471)

درزم قرار شد که هردو کلاس رو بزارم تا با مقایسه این دو تا به نتیجه برسین
بازم از توجه شما جناب عالی متشکرم

mhsmity
یک شنبه 08 اردیبهشت 1392, 01:25 صبح
خاصیت Paddingستون های گریدویو رو مقداری دهی کردم بودم که این ستون ها پرینت ضخیم میشد از خود تنظیمات گریدویو خاصیت پندینگ رو صفر کردم درست شد
Padding={Left=5,Top=0,Right=0,Bottom=0}