PDA

View Full Version : سوال: استفاده از subreport در گزارش کریستال ریپورت



reza1699
سه شنبه 14 آبان 1392, 11:07 صبح
من یه گزارش دارم که باید از دو جدول گرفته بشه و به هیچ طریقی نمیتونم اینها رو در یک دیتاتیبل ادغام کنم به طوری که یک رکورد بشه و در گزارشم ظاهر بشه

واسه همین از ساب ریپورت استفاده میخوام بکنم.

در گزارش اصلی ، از جدول اولی گزارش گیری میکنم
و در ساب ریپورت از جدول دوم گزارش گیری میکنم

مشکل اینجاس که گزارش اول بدون مشکل میاد ، ولی گزارش دوم ، که در ساب ریپورت هست از طریق دستور اس کیو الی که دادم فیلتر نمیشه و میره از رکورد اول تا آخر رو سلکت میکنه و نمایش میده !

کدهایی که نوشتم به این صورت هستن :

test2 c = new test2();
c.SetDatabaseLogon("sa", "123456");
c.SetDataSource(dt);



test1 dd = new test1();
dd.SetDatabaseLogon("sa", "123456");
dd.SetDataSource(dt1);
label14.Text = string.Format("مورخ : " + "{2} {1} {0}" + " " + " - ساعت " + "{3}:{4}", y, mon, d, h, min);
dd.SetParameterValue("date", label14.Text);
crystalReportViewer1.ReportSource = dd;

تست 2 ، ساب ریپورت هست !
تست 1 ریپورت اصلی هست !

vb341
چهارشنبه 22 آبان 1392, 02:29 صبح
نمونه این کاری رو که شما میخوای من با چهار تا ساب انجام دادم و توی سایت هست . سرچ کنید

sehm67
پنج شنبه 21 آذر 1392, 12:46 عصر
سلام
من با روش زیر ارتباط بر قرار کردم و جواب گرفتم.




1Dim orpt_B As New CrystalReport
If conn.State = ConnectionState.Closed Then conn.Open()
Dim SQL As String = "SELECT kala,tedad,vahed,fi,mony_kol FROM Table2 Where shf Like '" & DataGridView1.CurrentRow.Cells("Column4").Value.ToString & "'"
Dt = New DataTable
DA = New SqlCeDataAdapter(SQL, conn)
DA.Fill(Dt)

Dim SQLi As String = "SELECT * FROM T_chek where shf like '" & DataGridView1.CurrentRow.Cells("Column4").Value.ToString & "'"
Dtt = New DataTable
DA = New SqlCeDataAdapter(SQLi, conn)
DA.Fill(Dtt)

orpt_B.Subreports.Item(0).SetDataSource(Dtt)
orpt_B.SetDataSource(Dt)

frm_print.CrystalReportViewer1.ReportSource = orpt_B
conn.Close()
frm_print.ShowDialog()