PDA

View Full Version : عدم نمایش پریویو در گزارش گیری



میلاد قاضی پور
یک شنبه 10 مرداد 1389, 23:35 عصر
سلام . این کد رو جهت گزارش گیری نوشتم ولی هیچ چی ریپورت ویوور نمایش نمیده . حتی صفحه خالی.




repname=new Report_karnameh();
repname.Load("Report_karnameh.rpt");
repname.SetDataSource(dataset);
crystalReportViewer1.ReportSource = repname;

//karname name report hast

mmd2009
یک شنبه 10 مرداد 1389, 23:54 عصر
با سلام

اینجا معمولا نام دیتاتیبل یا دیتاست رو میذارن نه نام ریپورت رو.

البته چون من ایجوری مینویسم گفتم شاید مشکل از این باشه



crystalReportViewer1.ReportSource = new karname();

میلاد قاضی پور
یک شنبه 10 مرداد 1389, 23:58 عصر
بالاخره اینی که نوشتید درست هست ؟ اگه هست که منم همونجوری نوشتم . اگه نیست پس چطور میشه به ویوور گزارشی رو نسبت داد ؟
جهت واضح شدن کد کمی تغییرش دادم .

حجتی نیا
دوشنبه 11 مرداد 1389, 00:00 صبح
فرم گزارش رو پیدا میکنه ؟(دستور دوم)
من تو برنامم اینچوری نوشتم :
application.startuppath+"\\report-name.rpt"گزارش رو در debug قرار دادم و کار کرده..
درضمن یه شی از report document ساختم نه از گزارشم،یعنی اینجوری: reportdocument rd=new reportdocument

mmd2009
دوشنبه 11 مرداد 1389, 00:04 صبح
بالاخره اینی که نوشتید درست هست ؟ اگه هست که منم همونجوری نوشتم . اگه نیست پس چطور میشه به ویوور گزارشی رو نسبت داد ؟
جهت واضح شدن کد کمی تغییرش دادم .

میشه بگی از چه طریقی میخوای گزارش تهیه کنی

گرید ویو یا پارامتر یا ...... ؟؟

mmd2009
دوشنبه 11 مرداد 1389, 00:08 صبح
راستی منم اینطوری می نویسم



CrystalReport1 c = new CrystalReport1();
c.SetDataSource(dt);
crystalReportViewer1.ReportSource = c;



dt = نام جدولی هستش که اطلاعات بانک درونش هستند

میلاد قاضی پور
دوشنبه 11 مرداد 1389, 00:44 صبح
خوشبختانه فهمیدم مشکل کجا بود . من کدهارو توی شرطی نوشته بودم که نمیتونست بدرستی بررسی کنه . اما حالا که گزارش رو نشون میده اطلاعات رو نشون نمیده اینم کدم :
*rwd لایه دسترسی به داده هاست . ابتدا دیتا ستم با استفاده از آداپتر پر میشه و بعد باقی ماجرا. دقت داشته باشید که من میخوام از سه تیبل به اضافه یک ویو اطلاعات رو بریزم تو دیتاست . میدونم کدم ایراداتی داره یا کلا ایراده . اگه راهنمایی کنید ممنون میشم .






universityDataSet dataset=new universityDataSet();
rwd.adapt = new SqlDataAdapter(
"select * from karnameha, student, entekhabvahed, previewforkarname", rwd.connection);
rwd.adapt.Fill(dataset);
repname.SetDataSource(dataset);
crystalReportViewer1.ReportSource = repname;

حجتی نیا
دوشنبه 11 مرداد 1389, 09:34 صبح
در گزارش اطلاعات این جداول رو میخواین جدا ازهم نمایش بدین یا بوسیله یه فیلد باهم ارتباط دارن و براساس اون اطلاعات هرفرد مثلا دریه مکان قرار بگیره؟؟
یه عکس از گزارش بزارین (توش اطلاعات database expert هم باشه)

شما تو دستور 3 کدوم جدول از دیتاست رو میخواین پر کنین؟(باید مشخص باشه) جدولی که در این دستور وارد میکنین،باید همون جدولی باشه که در گزارش قرار دادین

میلاد قاضی پور
سه شنبه 12 مرداد 1389, 00:12 صبح
شما تو دستور 3 کدوم جدول از دیتاست رو میخواین پر کنین؟(باید مشخص باشه) جدولی که در این دستور وارد میکنین،باید همون جدولی باشه که در گزارش قرار دادین
مگه مقادیر سلکت شده اطلاعات در اداپتر قرار نمیگیرن ؟ خب مگه بازم لزومی داره که بعد از دیتاست پارامتر دومی هم بهش بدیم . اطلاعات من قراره از چندین جدول و ویو سلکت بشه و بینشون ریلیشن هست . مثلا مشخصات خاص دانشجو مثل عکس رو از تیبل استیودنت میگیره همونجایی که کد دانشجویی برابر کد دانشجویی جاری تیبل کارنامه هست . و اطلاعات تعداد واحدهای درسی هم از تیبل انتخاب واحد گرفته میشن همون سطری که کد دانشجویی برابر کد جاری در تیبل کارنامه هست . امیدوارم تونسته باشم برسونم .

میلاد قاضی پور
سه شنبه 12 مرداد 1389, 00:23 صبح
اینم از تصویر محیط گزارش و پارامتر های لازم


http://sites.google.com/site/myuploadedimages/_/rsrc/1280780532095/home/barna-1/reportpreview/untitled000.JPG

میلاد قاضی پور
سه شنبه 12 مرداد 1389, 00:29 صبح
ببینید . کاربر دانشجویان موجود در گرید ویو رو با ستون چکباکس انتخاب میکنه و با کلیک دکمه چاپ تمام موارد انتخاب شده در پرینت پریویو نمایش داده میشن . از تیبل کارنامه ها تمام نمرات مربوط به دانشجوی مورد نظر رو خونده میشه و در گزارش نمایش داده میشه .

حجتی نیا
سه شنبه 12 مرداد 1389, 09:03 صبح
تا جایی که من متوجه شدم universitydataset به برنامتون اضافه شده و شما در هنگام پرکردن اون، اول یه شی دوباره از اون ساختین،چرا؟
مستقیما اونو پرش کنین :
rwd.adapt.fill(universitydataset )
در دستور :
repname.setdatasource..
یه breakpoint بزارین و برنامه رو debug کنین و ببین در جداول دیتاستتون، چیزی ذخیره میشه یا نه؟

میلاد قاضی پور
پنج شنبه 14 مرداد 1389, 16:53 عصر
بدون ایجاد اینستنس نمیشه . این کلاسه !

میلاد قاضی پور
پنج شنبه 14 مرداد 1389, 17:19 عصر
کد رو به این شکل تغییر دادم و درست شد :




universityDataSet dataset = new universityDataSet();
rwd.adapt = new SqlDataAdapter("", rwd.connection);

rwd.adapt.SelectCommand.CommandText = "select * from student";
rwd.adapt.Fill(dataset, "student");

rwd.adapt.SelectCommand.CommandText = "select * from karnameha";
rwd.adapt.Fill(dataset, "karnameha");

rwd.adapt.SelectCommand.CommandText = "select * from previewforkarname";
rwd.adapt.Fill(dataset, "previewforkarname");
repname.SetDataSource(dataset);
crystalReportViewer1.ReportSource = repname;