PDA

View Full Version : سوال: دریافت پارامتر ورودی در کریستال ریپورت



Masoome_das
پنج شنبه 17 تیر 1389, 22:47 عصر
با عرض سلام
من می خواستم بدانم که چطور می توان یک پروسیجر را با پارامتر ورودی به کریستال ریپورت اضافه کرد بدون اینکه یک صفحه پیغام انگلیسی برای دریافت پارامتر ظاهر شود
مثلا صدور کارت کتابخانه برای یک عضو خاص که کد عضویت را به عنوان پارامتر بپذیرد

Sajjad.Aghapour
جمعه 18 تیر 1389, 00:55 صبح
دو راه میتونید داشته باشید:

1. به طور مستقیم پارمتر رو در ReportDocument مقداردهی کنید:

reportDocument.SetParameterValue("paraName","paramValue");


2. میتونید پارامتر مورد نظر رو مقداردهی و به ParameterFields مربوط به ReportDocument اضافه کنید(برای مثال اگر از نوع Discrete تعریف کردید میتونید از کلاس ParameterDiscreteValue استفاده کنید...

Masoome_das
دوشنبه 11 مرداد 1389, 13:24 عصر
. به طور مستقیم پارمتر رو در ReportDocument مقداردهی کنید:

view source (http://www.barnamenevis.org/forum/showthread.php?p=1035891#viewSource)
print (http://www.barnamenevis.org/forum/showthread.php?p=1035891#printSource)? (http://www.barnamenevis.org/forum/showthread.php?p=1035891#about)

1.reportDocument.SetParameterValue("paraName","param Value");



ببینید من این کد ها را نوشتم ولی نتیجه دلخواه را نمی گیرم

پروسیجر


ALTER PROCEDURE dbo.state_member_personal
@user_name decimal
AS
select name_m ,famil_m,dateadd(day,365,date_m),image_m from member where key_member=@user_name
RETURN


دستورات C#‎




string key_member="";
public Cart(string key)
{
InitializeComponent();
key_member =(key);
}

privatevoid Cart_Load(object sender, EventArgs e)
{
SqlConnection conn = newSqlConnection(System.Configuration.Configuratio nSettings.AppSettings["SQl_Conect"].ToString());
conn.Open();
SqlCommand cmd = newSqlCommand("state_member_personal", conn);
conn.Open();
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@user_name", SqlDbType.Decimal).Value = Convert.ToDecimal(key_member);
SqlDataAdapter da = newSqlDataAdapter(cmd);
DataSet ds = newDataSet();
da.Fill(ds, "products");


CrystalReport5 cr1 = newCrystalReport5();
cr1.SetParameterValue("@user_name", Convert.ToDecimal(key_member));
cr1.SetDataSource(da);
crystalReportViewer1.ReportSource = cr1;




}


ولی بازم سیستم به طور خودکار پارامتر ورودی را نمی شناسه
حالا چیکارکنم؟؟؟؟؟؟؟؟؟؟؟؟

Masoome_das
دوشنبه 11 مرداد 1389, 13:44 عصر
کسی نمیدونه؟

Masoome_das
یک شنبه 21 شهریور 1389, 11:44 صبح
. میتونید پارامتر مورد نظر رو مقداردهی و به ParameterFields مربوط به ReportDocument اضافه کنید(برای مثال اگر از نوع Discrete تعریف کردید میتونید از کلاس ParameterDiscreteValue استفاده کنید

چطوری میشه از این کلاس استفاده کرد.

sara213
پنج شنبه 03 شهریور 1390, 16:42 عصر
سلام
در بخش ابزارهای گزارش گیری در قسمت"چه طور میتونم گزارشی بر اساس دستورات sqlبسازم"جواب این سوال هست