PDA

View Full Version : استفاده از CrystalReport1 در vb.net ......



zehs_sha
یک شنبه 19 مرداد 1382, 17:35 عصر
فایل CrystalReport1.rpt را با ویزارد به وجود آوردم اما بلد نیستم :oops: توسط کلیک کردن بر روی یک دکمه آن را صدا بزنم :cry:

Abbas Arizi
یک شنبه 19 مرداد 1382, 19:58 عصر
یک CrsytalReportViewer روی فرم قرار بدید و فایل رو با این کد باز کنید:

CrystalReportViewer1.ReportSource = "c:\CrystalReport1.rpt"

یک شنبه 19 مرداد 1382, 20:58 عصر
با سلام
در پروژه، یک فرم مثلا با نام frmReport ایجاد کنید، روی اون CrystalReportViewer رو قرار بدین( از این به بعد از این فرم می تونین برای نمایش هر گزارش ای که ایجاد می کنید استفاده کنید )
حالا هر جایی از برنامه که می خوایین گزارش نشان داده بشه، دستورات زیر را بنویسید:


Dim rpt As New CrystalReport1()
Dim frmReport As New frmReport()
With frmReport
.CrystalReportViewer1.ReportSource = rpt
.ShowDialog()
.Dispose()
End With

با این روش
1 – می شه فقط از یک فرم برای نمایش تمام گزارش ها استفاده کرد.
2 – برنامه شما وابسته به مسیر فایل CrystalReport1 نیست.

شیما عباس زاده

کم حوصله
یک شنبه 19 مرداد 1382, 21:57 عصر
سلام
شیما خانم اگر این کد ها تو vb6 جواب میده
اولا Dispose یعنی چی و کارش چیه
دوما کار ShowDialog چیه ؟؟
:?:

یک شنبه 19 مرداد 1382, 22:25 عصر
سلام
من Vb6 کار نکردم .
امتحان کنین، اگه داشته باشه طرز کارش فرقی نمی کنه.
وقتی شما یک فرم رو به صورت ShowDialog باز می کنین، اون فرم تنها فرم فعال برنامه می شه و تا اون رو نبندین نمی تونین به قسمت های دیگه برنامه دسترسی داشته باشین ( مانند فرم About )
موقعی که فرمی که بصورت ShowDialog باز شده رو کاربر می بنده، وارد زیر برنامه Dispose اون نمی شه، یعنی فرم بصورت کامل از حافظه خارج نمی شه .. و اگه تعداد فرم هایی که به این صورت باز می شه در برنامه شما زیاد باشه بعد یک مدت دچار کمبوده حافظه می شین!! برای همین باید با دستور Dispose اون رو کامل از حافظه پاک کنین.
من در دلفی هم که امتحان کرده بودم، به همین صورت بود.
شیما عباس زاده

Abbas Arizi
یک شنبه 19 مرداد 1382, 22:38 عصر
ShowDialog همون Show VbModal توی VB هست و Dispose هم یه چیزی تو مایه های Set Object = Nothing هست (البته تفاوتهایی داره) که البته توی VB برای فرمها مورد استفاده ای نداره و با دستور Unload فرم کلا از حافظه خارج میشه.