PDA

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



negar_1366
چهارشنبه 13 مرداد 1389, 21:22 عصر
با سلام
میخوام از گریدم پرینمت بگیرم.ولی نمیدونم چرا به PrintDGV اشکال میگیره؟؟؟؟
عکسشم گذاشتم.

ممنون از لطفتون

armin8651
چهارشنبه 13 مرداد 1389, 21:31 عصر
PrintDGV اسم یه کلاسه که برای پرینت گرفتن از دیتاگیرید نوشته شده که تو برنامه شما موجود نیست
تو ضمیمه برات گذاشتم

nasim bahari
چهارشنبه 13 مرداد 1389, 22:06 عصر
سلام..........

یه مثال برات گذاشتم که Dwon نکردنش می تونه بزرگترین اشتباه زندگیت باشه........

هر چیزی که برای چاپ یک دیتاگرید نیاز داری....

پس برو حالشو ببر.........

negar_1366
چهارشنبه 13 مرداد 1389, 22:42 عصر
ممنون از لطف هر دو شما، بله متوجه اشتباهم شدم.

ولی یه مورد ...
این error برا چیه، زورم بهش نمیرسه... :لبخند:

ali_najari
چهارشنبه 13 مرداد 1389, 23:15 عصر
سلام

این بخاطر استفاده از کلاس تاریخ شمسی خود Netframework هستش


Dim pc As New Globalization.PersianCalendar

ببین جایی که Globalization.PersianCalendar هست رو چک کن ببین آیا New زده یا نه

ali_najari
چهارشنبه 13 مرداد 1389, 23:16 عصر
من چک میکنم و بهت میگم مشکل کجاست

negar_1366
چهارشنبه 13 مرداد 1389, 23:34 عصر
برنامه ام رو براتون گذاشتم....

ali_najari
چهارشنبه 13 مرداد 1389, 23:38 عصر
توی ماژولت اون قسمت Imports هاش اینو تغییر بده

انجا که نوشته


Imports

تغییرش بده به


Imports system.Globalization.PersianCalendar

ali_najari
چهارشنبه 13 مرداد 1389, 23:49 عصر
یه نگاهی هم به این بندازی بد نیست

ali_najari
پنج شنبه 14 مرداد 1389, 00:32 صبح
من برنامه رو چک کردم و برات درستش کردم تقریبا
اما من نمیدونم که اون حلقه ای که توی کلید مربوط به پیرینت ایجاد کردی واسه چی بود و چی رو میخواستی جمع بزنی و توی AA بریزی ولی به هر حال باید بگم که کل ستون های Datagridview شما 4 تا هست که به عبارتی از 0 تا 3 رو باید توی فسمت مربوط به Cells ها بزاری (همون قسمتی که با علامت سوال مشخص کردم منظورم هست)



Dim AA As Integer = 0
For i As Int16 = 0 To dgvlist.Rows.Count - 1
AA += dgvlist.Rows(i).Cells(?).Value
Next

ali_najari
جمعه 15 مرداد 1389, 22:10 عصر
نگار مشکلت حل شد؟

negar_1366
شنبه 16 مرداد 1389, 12:59 عصر
بله، حل شد....
ممنون از لطفتون .

negar_1366
یک شنبه 24 مرداد 1389, 21:11 عصر
سلام
وقت بخیر
نماز روزه هاتون قبول باشه...

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

این دو تا برنامه ای هست که از گرید با کریستال پرینت میگیره.
اطلاعات گرید من از طریق دیتا ستم تامین میشه...

میشه لطفا یه کم راهنمایی کنید.

ممنون

negar_1366
دوشنبه 25 مرداد 1389, 18:14 عصر
دوستان من داخل ریداد کلیک باتن پرینتم کد زیر رو نوشتم ولی error میگیره....
مشکلش چیه؟!!!

تشکر...

ali_najari
چهارشنبه 27 مرداد 1389, 14:16 عصر
سلام نگار
قبل از اينكه بياي Datasource رو تعيي كني بايد ريپرت رو Load كني!
درضمن شما بايد آدرس Dataset رو براي Datasource ريپرتت بدي چون نميتوني ديتاگيريد رو توي CrystalReport قرار بدي.





Dim RPT As New ReportDocument
Rpt.load("ReportName.rpt")
Rpt.SetDataSource(Dataset Or Datatable)

ali_najari
چهارشنبه 27 مرداد 1389, 14:16 عصر
اگه مشكلت حل نشد بگو تا برات يه Sample بزارم

ali_najari
چهارشنبه 27 مرداد 1389, 15:46 عصر
اين هم يه Sample كامل و اميدوارم به دردت بخوره

توش Export گزارش به Word و Excel و PDF رو هم گذاشتم علاوه بر Print گرفتن

negar_1366
پنج شنبه 28 مرداد 1389, 11:54 صبح
سلام
وقت بخیر

ممنون از لطفتون...
من دستوراتی رو که گفتین اعمال کردم ولی درست نشد.
پرنتنم خروجی نداره.



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Rpt As New Report
Dim d As New DataSet1
Rpt.Load("Report.rpt")
Rpt.SetDataSource(d)
frmprint.CRV.ReportSource = Rpt
frmprint.ShowDialog()
End Sub

ho_612
پنج شنبه 28 مرداد 1389, 14:22 عصر
سوال تکراری پرینت از دیتا گرید

می دونم این سوال خیلی پرسیده شده .من از DGVPrinter استفاده می کنم. تو پرینتر معمولی مشگلی نیست.ولی وقتی از پرینتر حرارتی استفاده میکنم( سایز کاغذ کوچکتر هست – عرض 80) به هخم میریزه.
سوال : چطور می تونم کاغذ رو تنظیم کنم؟؟

ali_najari
پنج شنبه 28 مرداد 1389, 15:09 عصر
سلام نگار جان

اين تيكه كدت رو تغيير بده و متن زير رو بزار درست ميشه ولي براي فيلتر كردنش ديگه خودت بايد زحمتش رو بكشي چون من تا حالا با XML كار نكردم




Dim d As New DataTable
d = Bind.DataSource 'Or d=table

ali_najari
پنج شنبه 28 مرداد 1389, 15:10 عصر
سوال تکراری پرینت از دیتا گرید

می دونم این سوال خیلی پرسیده شده .من از DGVPrinter استفاده می کنم. تو پرینتر معمولی مشگلی نیست.ولی وقتی از پرینتر حرارتی استفاده میکنم( سایز کاغذ کوچکتر هست – عرض 80) به هخم میریزه.
سوال : چطور می تونم کاغذ رو تنظیم کنم؟؟

بايد از printsetup استفاده كني و ساز كاغذت رو تغيير بدي قبل از Load اطلاعات توي PrintDocumet

ali_najari
پنج شنبه 28 مرداد 1389, 15:13 عصر
سلام
وقت بخیر

ممنون از لطفتون...
من دستوراتی رو که گفتین اعمال کردم ولی درست نشد.
پرنتنم خروجی نداره.



PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Rpt AsNew Report
Dim d AsNew DataSet1
Rpt.Load("Report.rpt")
Rpt.SetDataSource(d)
frmprint.CRV.ReportSource = Rpt
frmprint.ShowDialog()
EndSub



اين تيكه كدت رو تغيير بده و متن زير رو بزار درست ميشه ولي براي فيلتر كردنش ديگه خودت بايد زحمتش رو بكشي چون من تا حالا با XML كار نكردم




Dim d AsNew DataTable
d = Bind.DataSource 'Or d=table

ho_612
جمعه 29 مرداد 1389, 00:34 صبح
بايد از printsetup استفاده كني و ساز كاغذت رو تغيير بدي قبل از Load اطلاعات توي PrintDocumet

کمی بیشتر توضیح میدی؟
منظورت که تنظیمات پرینتر خود سیستم نیست؟چون مسلما به اون مربوط نمیشه!!

ali_najari
شنبه 30 مرداد 1389, 17:36 عصر
ببخشيد اين هم برنامه اصلاح شده شما

شرمندم يادم رفته بود Attach كنم