PDA

View Full Version : چاپ اطلاعات نمایش داده شده در Mshflexgrid



vbprogramer
چهارشنبه 30 دی 1383, 07:52 صبح
سلام به برو بچ برنامه نویس :oops:
جمیعاْ خسته نباشید

من یک Mshflexgrid دارم که اطلاعات توی اون به صورت کامل و بدون عیب نمایش داده میشه . مشکل من اینجاست که نمی تونم این اطلاعات رو به دیتا ریپورت پاس بدم در ضمن من از ado استفاده کردم و دستور زیر هم کار ساز نبود

Set DataReport20.DataSource = MSHFlexGrid1.DataSource
وقتی مقدار MSHFlexGrid1.DataSource رو چک کردم nothing بود
از چه خاصیتی باید استفاده کنم

لازم به ذکر است که جستجو هم کردم ولی هر جا که این سوال پرسیده شده بود بدون جواب بود
با تشکر از کسانی که اطلاعاتی در این ضمینه دارند و توضیح می دهند

یک مسئله مهم رو یادم رفت بگم ( من تا فردا وقت دارم ) :strange:

Behrouz_Rad
چهارشنبه 30 دی 1383, 09:08 صبح
برای چاپ محتویات یک MSHFlexGrid می توانید از دستور زیر استفاده کنید:


Printer.PaintPicture MSHFlexGrid_Name.Picture, 0, 0
Printer.EndDoc

و اگر می خواهید که کل صفحه ی کاغذ چاپگر را بپوشاند، قبل از دو خط فوق بنویسید:


Dim old_width as Integer
MSFlexGrid_Name.width=printer.width

موفق باشید.

vbprogramer
چهارشنبه 30 دی 1383, 09:40 صبح
آقا بهروز خیلی ممنون که پاسخ دادید ولی نمی شه توی Datareport نمایش داده بشن ؟ :گیج:

vbprogramer
چهارشنبه 30 دی 1383, 09:58 صبح
من این دستورات رو امتحان کردم ولی چون پهنای Mshflexgrid من زیاده حتی در حالت Landscape هم جاشون نمیشه و تقریباْ نصف اطلاعات رو که قسمت مهم آن است نشان نمیده هیچ راهی نداره که توی دیتا ریپورت inport بشن :گیج:

Behrouz_Rad
چهارشنبه 30 دی 1383, 11:00 صبح
شما اول گفتی که می خوای محتویات MSHFlexGrid رو چاپ کنی که کدش رو بهتون گفتم.
اگر قصد دارید که رکوردها را در یک DataReport نمایش دهید و سپس اقدام به چاپ کنید دو حالت دارد:
از آنجایی که گفتید از ADO استفاده می کنید:

1) شرط Select رکوردها ثابت است.
در این حالت، در Command‌ ای که برای Connection یک DataEnvironment می سازید، در قسمت SQL Statement، دستور Select SQL خود را می نویسید.

2) شرط Select رکوردها، متغیر است.
در این حالت، پس از تنظیم Connection، خواص Command را به صورت دستی تنظیم می کنید.


Private Sub DataReport_Initialize()
DataEnvironment1.Commands(1).ActiveConnection = Connection1
DataEnvironment1.Commands(1).CommandType = adCmdText
DataEnvironment1.Commands(1).CommandText = MySqlString
End Sub

متغیر MySqlString، حاوی شرط Select شماست که در برنامه مقدار می گیرد.

موفق باشید.

vbprogramer
چهارشنبه 30 دی 1383, 15:39 عصر
سلام


شما اول گفتی که می خوای محتویات MSHFlexGrid رو چاپ کنی که کدش رو بهتون گفتم.

عزیز جان یک بار دیگه بالا رو بخون :wink:

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


مشکل اینجاست که من در دیتا ریپورت اصلاْ از Conecction و Dataenvironment استفاده نمی کنم

بذار خیالت رو راحت کنم من این کار را برای چاپ نتایج حاصل از جستجو که پس از زدن کلید جستجو در یک Mshflexgrid نمایش داده شده اند لازم دارم و شرط جستجو یا همان Select بر اساس یک عبارت یا یک کد عوض میشود

متوجه منظورم شدی عزیز :mrgreen: