PDA

View Full Version : حرفه ای: پرینت گرفتن از datagrideview به صورت landscape



antionline
دوشنبه 24 تیر 1392, 17:56 عصر
سلام خدمت همگی
من مدتیه که یک پروژه رو شروع کردم که به دیتا بیس sql متصله
توی فرم جستجو یک دیتا گرید دارم که می خواهم اطلاعاتش رو بصورت landscape پرینت بگیرم.
از دستورات پرینت زیاد سردر نمیارم ولی یه کلاس و یک فرم از اینترنت دانلود کردم و به پروژه اضافه کردم حالا قابلیت پرینت اضافه شده با قابلیت انتخاب ستونها برای چاپ و.. اما بصورت landscape چاپ نمی کنه کاری که شدیدا بهش نیاز دارم.
کدهای اون کلاس انقدر پیچیده بود که تنظیمات ابغاد صفحه رو پیدا نمی کنم تا تغییرش بدم.
لطفا کمک کنید

Fery666
دوشنبه 24 تیر 1392, 19:20 عصر
بهترین برنامه که بتونین برای پروژه شما استفاده کنید با امکانات زیاد می تونین از برنامه Stimulsoft استفاده کنید .

http://barnamenevis.org/showthread.php?117526-%D8%B3%D9%88%D8%A7%D9%84%D8%A7%D8%AA-%D9%85%D8%B1%D8%A8%D9%88%D8%B7-%D8%A8%D9%87-StimulReport-%D8%B1%D9%88-%D8%AF%D8%B1-%D8%A7%DB%8C%D9%86-%D8%AA%D8%A7%D9%BE%DB%8C%DA%A9-%D9%85%D8%B7%D8%B1%D8%AD-%DA%A9%D9%86%DB%8C%D8%AF

antionline
چهارشنبه 26 تیر 1392, 07:10 صبح
بهترین برنامه که بتونین برای پروژه شما استفاده کنید با امکانات زیاد می تونین از برنامه Stimulsoft استفاده کنید .

http://barnamenevis.org/showthread.php?117526-%D8%B3%D9%88%D8%A7%D9%84%D8%A7%D8%AA-%D9%85%D8%B1%D8%A8%D9%88%D8%B7-%D8%A8%D9%87-StimulReport-%D8%B1%D9%88-%D8%AF%D8%B1-%D8%A7%DB%8C%D9%86-%D8%AA%D8%A7%D9%BE%DB%8C%DA%A9-%D9%85%D8%B7%D8%B1%D8%AD-%DA%A9%D9%86%DB%8C%D8%AF
سلام ممنون از راهنماییت اما خیلی سخت شد .
لطفا کمی توضیح بهم بده
هرچی گشتم توی اون تاپیک در مورد فیلتر کردن اطلاعات دیتا گریده

payman_xxp
چهارشنبه 26 تیر 1392, 08:31 صبح
سلام

پیشنهاد میکنم اگر میخواهید
از دردسرهای طراحی انواع گزارشات مورد نیاز کاربر بدور باشید
با فیلتر کردن داخل خود گرید توسط کاربر سطرهای مورد نیاز در گرید نمایش داده بشه
با 4 یا 5 سطر ناقابل هرچی توی گرید میبینید عینا پرینت گرفته بشه
بدون طراحی حتی 1 صفحه گزارش در انواع نرم افزارهایی که میشناسید....

از ابزار Telerik Component استفاده کنید
ابزار گرید این کامپوننت بسیار انعطاف پذیر و قابلیت راست چین شدن و گروه بندی و.... داره
ابزار دیگه ای هم داره که docPreview هستش و براحتی گرید رو هرجوری فیلترکنید عینا پرینت میگیره
و همچنین این ابزار قابلیت تنظیم اندازه و جهت صفحه رو هم بصورت دستی هم کدنویسی و هم درزمان اجراداره.

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

موفق باشید.

antionline
چهارشنبه 26 تیر 1392, 10:40 صبح
با تشکر از همگی
من از ویژوال 2013 استفاده می کنم اما کامپوننت تلریک رو نداره.(راستش اصلا نمی دونم چی هست این کامپوننت)
خلاصه می کنم:
یه فرم گزارش گیری دارم که به یه دیتا بیس وصله که حدود 3.000 تا اطلاعات داخلش هست و داره بیشتر میشه. این برنامه رو تحت شبکه نوشتم و 4تا سیستم همزمان مشغولن. حالا توی فرم گزارش گیری اطلاعات فیلتر میشه مثلا طبق بلوار بعد توی دیتا گرید نمایش میده ، من تاحالا از کریستال ریپورت و... اصلا استفاده نکردم .
برای پرینت از یه فرم و 2تا کلاس استفاده کردم که از یه سایت پروجکت دانلود و ب برنامه ام اضافه کردم و همه چیز آرومه ! جز اینکه آقایون طز دادن که بصورت landscape پرینت بگیره.
من تازه فوش دیپلم کامپیوتر رو گرفتم و تا اینجاش هم خیلی فراتر از دانشگاه پیش اومدم اما احساس می کنم خوردم تو دیوار
لطفا کمکم کنید

payman_xxp
چهارشنبه 26 تیر 1392, 12:34 عصر
سلام
دوست عزیز قبل از هرکاری این لینک رو ببینی بد نیس:
http://www.telerik.com/products/winforms/gridview.aspx

همونطور که گفتم این ابزارها یه سری کامپوننت هستن که باید روی ویژوال استودیو نصب کنی.

دقیقا همون چیزی هستش که میخوای.
فقط گرید رو فیلتر کن( تقریبا براحتی اکسل) و دکمه پرینت رو بزن، هیچ فرم یا نرم افزار اضافی برای طراحی گزارش نیاز نداری، عمودی یا افقی کردن گزارش هم فقط یه دونه تیک توی تنظیماته که با کدنویسی هم قابل انجامه و کاربرهم میتونه موقع پرینت اونو تغییر بده و گزارش بصورت اتوماتیک خودش رندر میشه و نیازی نیس شما واسش فرم طراحی کنی.

بعداز تهیه ابزار( خرید یا دانلود) نصبش کن ، تقریبا 95درصد کار بصورت ویزاردی انجام میشه و مابقی کار واسه نوشتن اسامی فیلدها در گرید و چند خط کد ساده که در حد کپی پیست هست.

تهیه کن، نصب کن، هرجامورد بود در خدمتیم.
موفق باشید.

antionline
چهارشنبه 26 تیر 1392, 13:46 عصر
خیلی ازت ممنونم
باشه لطف کردی ، کتاب vb.net 2010 محسن مدحج رو گرفتم اما اصلا وقت نمی کنم بخونمش.
:لبخند:

antionline
چهارشنبه 26 تیر 1392, 15:13 عصر
نصب کردم
اما ویژوال منو دتکت نکرد :افسرده:
ویژوال 2010 هم پروژه منو باز نمی کنه:گریه:

misagh1370
چهارشنبه 26 تیر 1392, 16:00 عصر
سلام
آقا منم میخوام از گریدویوم پرینت بگیرم میشه کد پرینتتون رو به منم بدین ؟ممنون میشم

antionline
چهارشنبه 26 تیر 1392, 16:30 عصر
سلام
http://uploadtak.com/images/s5165_pr (http://uploadtak.com/images/s5165_printdgv.rar)intdgv.rar (http://uploadtak.com/images/s5165_printdgv.rar)

اینها رو ب فایلهای برنامه ات اضافه کن
و بعد این کد رو برای دکمه پرینتت بنویس

PrintDGV.Print_DataGridView(DataGridView1)

خیلی عالیه فقط گیر LandScape کردنشم

misagh1370
چهارشنبه 26 تیر 1392, 16:41 عصر
دمت گرم.landscap
چکار میکنه؟ببخشید من خیلی مبتدی ام

antionline
چهارشنبه 26 تیر 1392, 16:59 عصر
بصورت افقی چاپ کنه

misagh1370
چهارشنبه 26 تیر 1392, 17:07 عصر
آهان ممنون.
ببخشید من این کلاسها رو به برنامم اضاف کردم اما یه عالمه اررور داد.مخصوصا کلاس PrintOptions
آیا شما به جز افزودن این دو کلاس خودتون هم چیزی به برنامتون اضافه کردین؟
آخه تو کلاس چک باکس و دکمه رادیویی و ... اینا هست.اما برنامه من که نداره!!!!خب بخاطر همین خطا میده دیگه
منظورم اینه که فرم به برنامم اضافه نمیشه فقط کلاس پرینت دی جی وی و پرینت آپشن اضاف میشن.شما چطور اضافه کردین؟؟؟:اشتباه:
ممنون میشم راهنمایی کنید:لبخندساده:

antionline
پنج شنبه 27 تیر 1392, 07:49 صبح
نه نیازی ب قرار دادن دکمه و چک باکس و... نیست چون با کد تعریف شدن

هیچ کس نیست کمکم کنه

antionline
پنج شنبه 27 تیر 1392, 11:24 صبح
:گیج:حل شد
:لبخند:






توی این فایل یک فرم PrintOption هست که باید Add کنی و یک ماژول به نام
ModDataGridViewPrint
که اونم باید Add کنی بعد مثل کد زیر GridView رو به کلاس
ارسال کن :









1

2

3



Private Sub
mnuPrintData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles mnuPrintData.Click

PrintDGV.Print_DataGridView(grdData)

End
Sub







این یک کلاس پرینت
GridView خیلی کامل هست که من چاپش رو راست به چپ (RightToLeft) کردم.
این کلاس
رو از سایت CodeProject برداشتم وتغییرات بهش دادم.
موفق باشی.



http://barnamenevis.org/images/misc/paperclip.png
فایل های ضمیمه

http://barnamenevis.org/images/attach/rar.gifPrintGridView.rar‏ (http://barnamenevis.org/attachment.php?attachmentid=10681&d=1188732448)(9.7 کیلوبایت, 408
دیدار)

misagh1370
پنج شنبه 27 تیر 1392, 12:44 عصر
سلام
دوست گرامی ممنون از راهنماییت .حالاشد فقط فونتاش بدجور بهم ریخته اصلا خوانایی ندارن.di اررور هم میده یتو رویداد PrintOptions_Load از InitForms(Me اررور میگیره.
بنظرتون مشکل کجاست.شرمنده ببخشید خیلی سوال میپرسم
از سایت www.mspsoft.com (http://www.mspsoft.com) یه پروژه واسه پرینت از گریدویو دانلود کردم تو کدهاش که نگاه کردم خاصیتlandscap رو trueکرده بودن .پروژه رو دانلود کن شاید بدردت بخوره انشاالله

antionline
پنج شنبه 27 تیر 1392, 15:49 عصر
سلام
برای من هم همون ارور رو میده . مهم نیست قبلش یه ' بزن حل میشه.
نه دیگه ردیف شد
ممنون

r. salehi
جمعه 28 تیر 1392, 04:01 صبح
دوست عزیز واقعا اگر می خواهی یک نرم افزار شکیل و با قابلیتهای پرینت پریویو خوب داشته باشی و دردستر و جنگ اعصاب هم نداشته باشی باید از کامپوننت ها استفاده کنی.
پیشنهاد من کامپوننتهای DevExpress و یا telerik هست.
اینها چیزی بهت میدن که عیب و نقص نداره. اما اولش یه کمی باید در موردشون مطالعه کنی