PDA

View Full Version : ارتباط csharp با ابزار گزارش گیری برای پرینت



anahita6
شنبه 26 اردیبهشت 1388, 19:30 عصر
با عرض سلام لطفا مدیران پاک نکنن چون سوال من مربوط به قسمت سی شارپ هست نه کریستال
من یک پروژه دارم که توی قسمتی از این پروزه اطلاعاتی که توی دیتا بیس وجود داره باید از طریق کریستال چاپ بشه منتها این کار با فشردن یک دکمه توی فرم c sharp انجام میشه حالا من کدی که توی اون دکمه یا قسمت لود برنامه باید برای initialize انجام بدم نمیدونم چیه یعنی کد سی شارپ برای فراخوانی یه کریستال لطفا اگه کدی دارید که کمک میکنه کمکم کنید
کد زیر رو توی تالار مربوط به کریستال پیدا کردم که گزارش گیری با دیتا ست رو میگه که من از این روش میخوام استفاده کنم اما با error مواجه شد


string ConStr = "Data Source=.;Initial Catalog=Anbar;User
ID=sa;Password=123456";
SqlConnection SQLCon = new SqlConnection(ConStr);
SqlDataAdapter SQLAdapter = new SqlDataAdapter("SELECT * FROM
TbPersonal", SQLCon);
DataSet1 dataset = new DataSet1();
SQLAdapter.Fill(dataset, "TbPersonal");
//------------------------------------------------
ConnectionInfo connectionInfo = new ConnectionInfo();
ReportDocument RepDoc = new ReportDocument();
connectionInfo.ServerName = ".";
connectionInfo.DatabaseName = "anbar";
connectionInfo.UserID = "sa";
connectionInfo.Password = "123456";
string RepPath = Application.StartupPath + @"\CrystalReport1.rpt";
RepDoc.Load(RepPath);
RepDoc.SetDataSource(dataset);
crystalReportViewer1.ReportSource = RepDoc;
راستی من اتصالم ویندوزی هست. در این صورت id و پسورد برای connectioninfoنمیخواد . نه؟

Reza_Yarahmadi
یک شنبه 27 اردیبهشت 1388, 00:43 صبح
این یه نمونه از گزارش گیری کریستال ریپورت
روشهای دیگه ای هم وجود داره اما من همیشه از این استفاده میکنم
اگه جاییش سؤال بود بگو تا توضیح بدم .

anahita6
یک شنبه 27 اردیبهشت 1388, 01:25 صبح
با تشکر از راهنمایی تون
اونوقت اگه بخواید محتوی یه تکست باکس رو به گزارشتون بفرستید چه کدی مینویسید؟

shahab_ss
یک شنبه 27 اردیبهشت 1388, 14:03 عصر
http://www.codeproject.com/KB/cs/Crystal_net_parameters.aspx

anahita6
یک شنبه 27 اردیبهشت 1388, 18:59 عصر
http://www.codeproject.com/KB/cs/Crystal_net_parameters.aspx

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

anahita6
یک شنبه 27 اردیبهشت 1388, 23:44 عصر
کسی از دوستان نمیدونه؟

shahab_ss
دوشنبه 28 اردیبهشت 1388, 00:03 صبح
سلام خانم،

تا اونجایی که من دیدم این مثال در عین سادگی کاملاً مسئله رو توضیح داده و من نکته مبهمی در اون ندیدم.

در این گزارش(فایل کریستال ریپورت) دو پارامتر تعریف شده که توسط c#
فانکشن های GetParamValue و SetParamValue به اون پارامتر ها مقدار فرستاده میشه و یا از اون پارامتر ها مقدار خوانده میشه.

برداشت من از سوال شما این بود، اگر اشتباه متوجه شدم لطفاً بیشتر توضیح بدید .:لبخندساده:

anahita6
دوشنبه 28 اردیبهشت 1388, 00:21 صبح
سلام
توضیح که نداده فقط کد نوشته . شاید آسون باشه اما چون من اولین بار هست که با کریستال کار میکنم مشکل دارم
2 تا سوال دارم
اول اینکه چرا وقتی من کد مینویسم به قسمت
paramName که میرسم error میده مگه اینجا نباید اسم فیلدی که توی کریستال ساختم رو بدم؟ اگه نه پس چی باید بنویسم اینجا
دوم اینکه : مقدار تکست باکس رو باید به کدوم قسمت بریزم
متشکر از پاسخگویی تون

shahab_ss
دوشنبه 28 اردیبهشت 1388, 01:08 صبح
شاید کمی واضح تر شده باشه.

paramName که میرسم error میده مگه اینجا نباید اسم فیلدی که توی کریستال ساختم رو بدم؟ درسته ،نام همون پارامتری که ساختید رو باید وارد کنید.