PDA

View Full Version : چگونگی ارسال پارامتر به crystal report



hmm
دوشنبه 10 بهمن 1384, 08:05 صبح
سلام
سوال اول : یک گزارش cr ساختم که یه فیلد پارامتر داره این فیلد رو چطور میتونم run-time مقدار بدم؟
سوال دوم : بدلیل اینکه نتونستم sql رو هم run-time به cr پاس بدم مجبور شدم select کلی بنویسم و بعد از طریق این پارامتر داده ها رو فیلتر کردم میدونم این بدترین روشه ولی راه دیگه ای به ذهنم نرسید به نظر شما چطور میشه گزارشی رو طراحی کرد ولی موقع اجرا کانکشن و sql رو بهش پاس کرد . منظورم از کانکشن همون connection string تو web.config هست.
ممنون

hmm
پنج شنبه 13 بهمن 1384, 13:25 عصر
کسی اطلاع نداره؟

roya2002_80
جمعه 14 بهمن 1384, 12:04 عصر
سلام
بهتره که شما یک Stored Procedure بسازید و آن را پایگاه داده گزارشتان قرار دهید و در زمان اجرا پارامتر را مقدار دهی کنید.اگر کدش را لازم دارید بگویید تا براتون بذارم.
موفق باشید

hmm
شنبه 15 بهمن 1384, 08:22 صبح
ظاهرا بهتر از هیچ چیزه!
کدش رو مرحمت کنید!

roya2002_80
جمعه 21 بهمن 1384, 15:42 عصر
کد زیر شاید کمکتون کنه
CrystalDecisions.CrystalReports.Engine.ReportDocum ent reportDocument1;
reportDocument1 =new ReportDocument();
sqlcmd.CommandType = CommandType.StoredProcedure;
sqlcmd.CommandText = "nameStoredProcedure";
sqlcmd.Parameters.Add("@id",id); //id name parameter ast.
DataSet dst=new DataSet();
SqlDataAdapter da=new SqlDataAdapter();
da.SelectCommand=sqlcmd;
da.Fill(dst,"nameStoredProcedure");

reportDocument1.Load(Server.MapPath(".\\Report\\NameReport.rpt"));
reportDocument1.SetDataSource(dst);
CrystalReportViewer1.ReportSource=reportDocument1;
CrystalReportViewer1.RefreshReport();
موفق باشید

mehrdotnet
دوشنبه 24 بهمن 1384, 09:28 صبح
سلام!
ببینین این به دردتون می خوره؟!
فرض کنین اسم ریپورت rep_in باشه و اطلاعاتی که قراره این ریپورت نشون بده توی DataSet41 قرار داشته باشه. همچنین شما توی ریپورت یک پارامتر به نام par_1 داشته باشین اونوقت برای ارسال مقدار به این پارامتر و نمایش گزارش در یک CrystalReportviewr می تونین از دستورات زیر استفاده کنین:


dim r as new rep_in
r.setdatasource(DataSet41)
r.setparametervalue("par_1",مقدار)
crv1.reportsource=r

لازم به ذکره که باید قبلاً پارامتر par_1 رو توی ریپورت ایجاد کرده باشین
اگه باز هم نیاز به توضیح داره بفرمایین!