PDA

View Full Version : در خواست آموزش



jafari_m246
شنبه 13 مرداد 1386, 12:05 عصر
سلام
من هفته دیگه باید پروژام رو ارائه بدهم و متاسفانه نیاز به گزارش گیری دارم
"حالا که آخر کار شده استاد گفته باید گزارش گیری هم بکنم:گریه:"

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

با توجه به این اوصاف کسی هست که به من کمک کنه؟:گریه:

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

با تشکر

sm
شنبه 13 مرداد 1386, 12:14 عصر
مشکلاتتون رو مطرح کنین تا دوستان جواب بدن.
برای رد کردن پارامتر هم میتونین از روش زیر استفاده کنین.
یه متغیر از جنس گزارشتون تعریف کنین و بنویسین :


Public Report As New Report6
Report.SetParameterValue("Tarikh", DateNow.ToString.Trim)

این برای متغیرهاییست که شما توی کریستال تعریف کردین. اگه متغیری از طرف بانک اطلاعاتیتون توی گزارش اضافه شده باشه، بطور مثال اگه Stored Procedure شما پارامتر ورودی داشته باشه باید به این شکل بنویسن:


Report.SetParameterValue("@Tarikh", DateNow.ToString.Trim)

یعنی یک علامت @ باید ابتدای نام پارامتر اضافه کنین.
دقت داشته باشین که حروف کوچک و بزرگ رعایت بشه.
نکته مهم :
درصورتیکه از متغیر از جنس گزارش استفاده می کنین باید همین متغیر رو بعنوان Report Source‌مربوط به RV رد کنین.

موفق باشید

jafari_m246
سه شنبه 16 مرداد 1386, 06:46 صبح
ممکنه از اول توضیح بدهید چونکه من اصلا اطلاعاتی در این باره ندارم
مثلا اینکه این کد ها را کجا می نویسید؟
و اینکه ایا کریستال را باید جداگانه نصب کرد یا با دات نت نصب می شود؟

sm
سه شنبه 16 مرداد 1386, 08:32 صبح
این نمونه کدی هست که باهاش کار می کنم:


Public Report As New Report6

Dim rdr As Odbc.OdbcDataReader
Dim zoom As Integer = 71
Dim Page As Integer
Dim GoToPage As Integer
Private CheckedDates As Boolean = False
Dim ds As New DataSet
Public Cn As New Global
Private city, sdate, Edate, id As String

Private Sub SetParameters()
Cn.GetReports()
Report.SetParameterValue("Tarikh", DateNow.ToString.Trim)
Report.SetParameterValue("[St_Date]", Me.txtSal.Text.Trim)
Report.SetParameterValue("Desc", Desc.Trim)
End Sub

Private Sub frmR1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
'CenterForm(Me)

Report = New Report6
Dim s As String = getdate()
Dim str() As String = s.Split("/")
BYear = str(0)
Bmounth = str(1)
Bday = str(2)
Me.cmdReport.Connection = Cn.Connection
Me.tlbtnBozorg.Enabled = False
Me.tlbtnDefault.Enabled = False
Me.tlbtnExport.Enabled = False
Me.tlbtnFirst.Enabled = False
Me.tlbtnGoto.Enabled = False
Me.tlbtnKochak.Enabled = False
Me.tlbtnLast.Enabled = False
Me.tlbtnNext.Enabled = False
Me.tlbtnPreviuse.Enabled = False
Me.tlbtnPrint.Enabled = False
Me.tlbtnSearch.Enabled = False
Me.txtSearch.Text = ""
Me.txtPage1.Text = ""
Me.txtPage2.Text = ""
Me.txtGoToPage.Text = ""
Me.txtSal.Text = BYear.Trim
Me.ProgressBar1.Visible = False
End Sub

Private Sub tlbrForm_ButtonClick(ByVal sender As Object, ByVal e As System.Windows.Forms.ToolBarButtonClickEventArgs) Handles tlbrForm.ButtonClick
Select Case Me.tlbrForm.Buttons.IndexOf(e.Button)

Case 0 'خـــروج
Me.Close()
Case 2 'صفحه اول گزارش
Me.CR.ShowFirstPage()
Me.txtPage1.Text = Me.CR.GetCurrentPageNumber.ToString
Case 3 'صفحه قبلی گزارش
Me.CR.ShowPreviousPage()
Me.txtPage1.Text = Me.CR.GetCurrentPageNumber.ToString
Case 4 'صفحه بعدی گزارش
Me.CR.ShowNextPage()
Me.txtPage1.Text = Me.CR.GetCurrentPageNumber.ToString
Case 5 'صفحه آخر گزارش
Me.CR.ShowLastPage()
Me.txtPage1.Text = Me.CR.GetCurrentPageNumber.ToString
Case 7 'جستجوی متن در گزارش
Me.pnlSearch.Location = Me.pnlGoToPage.Location
Me.pnlSearch.Visible = True
Me.txtSearch.Select()
Me.txtSearch.Focus()
Case 8 'مشاهده گزارش

Me.Label1.Select()
Me.Label1.Focus()
If Me.txtSal.Text.Trim = "" Then
msgOkOnly("لطفـا سال موردنظر را وارد نـماییـد", 2, "توجــه")
Me.txtSal.Select()
Me.txtSal.Focus()
Exit Sub
End If
Me.ProgressBar1.Visible = True
Me.ProgressBar1.Value = 10
Me.ProgressBar1.Value = 20
Me.Cursor = Cursors.WaitCursor
Me.txtPage1.Text = ""
Me.txtPage2.Text = ""
Me.ProgressBar1.Value = 25
Report = New Report6
Me.ProgressBar1.Value = 30
SetParameters()
Me.ProgressBar1.Value = 50
Try
Me.CR.ReportSource = Report
Catch ex As Exception
MsgBox(ex.ToString)
End Try

Me.ProgressBar1.Value = 75
Application.DoEvents()
If Report.IsLoaded = True Then
Me.CR.ShowLastPage()
Me.ProgressBar1.Value = 80
Page = Me.CR.GetCurrentPageNumber
Me.ProgressBar1.Value = 85
Me.CR.ShowFirstPage()
Me.ProgressBar1.Value = 90
End If
Me.CR.Zoom(71)
Me.ProgressBar1.Value = 95
Me.tlbtnBozorg.Enabled = True
Me.tlbtnDefault.Enabled = True
Me.tlbtnExport.Enabled = True
Me.tlbtnFirst.Enabled = True
Me.tlbtnGoto.Enabled = True
Me.tlbtnKochak.Enabled = True
Me.tlbtnLast.Enabled = True
Me.tlbtnNext.Enabled = True
Me.tlbtnPreviuse.Enabled = True
Me.tlbtnPrint.Enabled = True
Me.tlbtnSearch.Enabled = True
Me.txtPage1.Text = Me.CR.GetCurrentPageNumber.ToString
Me.txtPage2.Text = Page.ToString.Trim
Application.DoEvents()
Me.ProgressBar1.Value = 100
Me.ProgressBar1.Visible = False
Me.ProgressBar1.Value = 0
Me.Cursor = Cursors.Default
Case 9 'چاپ گزارش
Me.CR.PrintReport()

Case 10 'رفتن به صفحه
Me.pnlGoToPage.Visible = True
Me.txtGoToPage.Select()
Me.txtGoToPage.Focus()

Case 11 'ذخیره گزارش در فایل
Report.ExportOptions.ExportFormatType = CrystalDecisions.[Shared].ExportFormatType.Excel
Report.ExportOptions.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile
' Me.CR.ExportReport()
Case 13 'بزرگنمایی
zoom = zoom + 20
If zoom <= 400 Then
Me.tlbtnBozorg.Enabled = True
Me.tlbtnKochak.Enabled = True
Me.CR.Zoom(zoom)
Else
Me.tlbtnBozorg.Enabled = False
End If
Case 14 'کوچگنمایی
zoom = zoom - 20
If zoom >= 20 Then
Me.tlbtnKochak.Enabled = True
Me.tlbtnBozorg.Enabled = True
Me.CR.Zoom(zoom)
Else
Me.tlbtnKochak.Enabled = False
End If
Case 15 'عادی
zoom = 71
Me.CR.Zoom(71)
End Select
End Sub


موفق باشید

jafari_m246
چهارشنبه 17 مرداد 1386, 08:35 صبح
من یه کوچولو c# بلدم:ناراحت:

ولی ممنون سعی میکنم تبدیل اش کنم

jafari_m246
شنبه 20 مرداد 1386, 07:14 صبح
ممکنه برای من هم توضیح بدهید که برای گزارش گیری چه کارهایی انجام میدهید؟
مثلا این که اول یک reportviwe روی فرم می گذاریم وبعد...

.............
کد بالا را اگه c# اش راهم داشتید ممنون می شوم برام بگذارید

hdv212
شنبه 20 مرداد 1386, 17:03 عصر
میتونی از لینک زیر استفاده کنی که آقای شهاب فاطمی به صورت انگلیسی و خیلی روان آموزش داده :
http://www.codeproject.com/useritems/Basics_of_Crystal_Report.asp

mah_55
دوشنبه 22 مرداد 1386, 20:39 عصر
سلام دوستان اگر ممکنه می خواستم توی دات نت 2005 aspاز کریستال رپیورت استفاده کنم البته با vb ممنون میشم اگر در این زمینه کمکم کنید

sm
سه شنبه 23 مرداد 1386, 07:51 صبح
خوش اومدین
لطفا قوانین سایت رو مطالعه نمایید.
دراین زمینه چندین تاپیک وجود داره.

موفق باشید