PDA

View Full Version : گرفتن مقدار برای یک کنترل روی گزارش کریستال ریپورت



masoudcarpet
جمعه 22 شهریور 1387, 11:20 صبح
لطفا راهنمائی کنید چه جوری textbox1 روی کریستال رو با textbox1 روی فرم اصلی برابر کنم توی vb با این کد با datarepotrt راحت انجام میشد:

DataReport1.Sections("Section3").Controls("Label1").Caption = Form1.Label1.Caption

bashir_nashi
جمعه 22 شهریور 1387, 13:00 عصر
میتونی تکست اون تکست باکس رو در یک متغیر عمومی که در ماژول تعریف شده بریزی و در فرم گزارش گیری ازش استفاده کنی

MORTEZA66
جمعه 22 شهریور 1387, 20:49 عصر
شما بايد به اين صورت عمل كني
اول يه متغير از نوع گزارشت تعريف مي كني به اين صورت


Dim rpt As New kolRpt

براي اينكه مقداري رو از برنامه به گزارش بفرستيد بايد در گزارش فيلدي از نوع پارامتر ايجاد كنيد در قسمت field explorer و Parameter كليك راست ميكنيد و New رو مي زنيد يا به هر شكل ديگه يه پارامتر ايجاد مي كنيد
و بعد پارامتري رو كه ايجاد كردي به اين صورت مقدار دهي مي كني


rpt.SetParameterValue("date_farsi", مقدار(

kablayi
جمعه 22 شهریور 1387, 23:59 عصر
شما بايد به اين صورت عمل كني
اول يه متغير از نوع گزارشت تعريف مي كني به اين صورت


Dim rpt As New kolRpt

براي اينكه مقداري رو از برنامه به گزارش بفرستيد بايد در گزارش فيلدي از نوع پارامتر ايجاد كنيد در قسمت field explorer و Parameter كليك راست ميكنيد و New رو مي زنيد يا به هر شكل ديگه يه پارامتر ايجاد مي كنيد
و بعد پارامتري رو كه ايجاد كردي به اين صورت مقدار دهي مي كني


rpt.SetParameterValue("date_farsi", مقدار(


سلام ...

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

toopak
شنبه 23 شهریور 1387, 01:25 صبح
لازم نیست که Parameter بسازید
یک تکس باکس از قسمت tools بزارید رو فرم و به جای نام فیلد در دستور بالا از نام تکست باکس استفاده کنید

toopak
شنبه 23 شهریور 1387, 14:30 عصر
Dim report As CrystalDecisions.CrystalReports.Engine.ReportClass
report = New rpacard
DirectCast(DirectCast(report, rpacard).Section2.ReportObjects.Item("text5"), CrystalDecisions.CrystalReports.Engine.TextObject) .Text = GetSetting("taxi", "setting", "taxiname", "")
report.SetDataSource(ds)
CrystalReportViewer1.ReportSource = report



اینم کد کاملش
rpacard نام ریپورت هست که با پسوند rpt ذخیره شده
text5 نام text object توی ریپورت هست
و جلوی = هم مقار مورد نظر برای نمایش در فرم

kablayi
یک شنبه 24 شهریور 1387, 05:41 صبح
با کد هم نشد ....
یعنی هیچ راهی نیست که یه متنی رو مستقیم توی گزارش نوشت ...؟؟؟؟

saman_itc
یک شنبه 24 شهریور 1387, 08:43 صبح
اول تو فرمت یه Parameter تعریف کن مثلا fnamee
بعد تو کد برنامه میتونی هر متنی که تو fname.Text هست تو فرمت به همین راحتی انتقال بدی


Frm_Rep_View.Rep_Doc1.SetParameterValue("fnamee", fname.Text)

kablayi
دوشنبه 25 شهریور 1387, 00:24 صبح
سلام ...
توکد آقا سامان نکته ای بود که مشکل منو حل کرد ...
مشکل این بود که متغیر Rpt رو که آقا مرتضی تعریف کردن رو بایستی از نوع RepotDocument تعریف کرد...
بعد با دستور SetParameterValue اونو به گزارش پاس داد ...


Dim rpt As New CrystalDecisions.CrystalReports.Engine.ReportDocum ent
rpt.SetParameterValue("txtDate",form1.txtshamsidate.text)


ممنون

saman_itc
دوشنبه 25 شهریور 1387, 00:46 صبح
من دو تا گزارش نوشتم که هر دو درست کار میکنند(سنگین هم هستند)
حالا این دو تا باید تو یه صفحه باشند.چی کار باید بکنم.!!!!
select شو نوشتم 15 خط شده و یا کم میزنه رکورد ها رو یا زیاد وقتی با هم یه گزارشش میکنم
نظر شما چه؟

saman_itc
دوشنبه 25 شهریور 1387, 17:17 عصر
کسی نمی تونه کمک کنه؟