PDA

View Full Version : حرفه ای: ارسال ديتا از سي شارپ به فست ريپورت (فست ريپورت فاقد ديتاسورس است)



Rejnev
سه شنبه 09 اسفند 1390, 20:21 عصر
با سلام و خسته نباشيد...
توي كريستال ريپورت امكاني بود كه ميشد بدون اتصال به ديتابيس، ديتاسورسهاي مختلف از قبيل ديتاست و كلاسهاي داخل پروژه رو اضافه كرد... اما من اين امكان رو توي فست ريپورت نديدم. براي همين بصورت دستي طبق تصوير ضميمه از محيط فست، دو تا فيلد با خاصيت تكست m.Code و m.Name اضافه كردم كه ظاهرا m بعنوان فضاي نام استفاده ميشه...
83453

حالا توي سي شارپ قطعه كد زير رو نوشتم و به ريپورت پاس دادم...


SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand("select Code,Name from Person", new SqlConnection("Data Source=.;Initial Catalog=HesabdariDateFree;Integrated Security=True"));
DataTable dt = new DataTable();
da.Fill(dt);
FastReport.Report r = new FastReport.Report();
r.Load(@"G:\mohammad\rpt.frx");
r.RegisterData(dt, "m");
r.Show();


اما در نهايت خروجي اي كه ميگيرم فقط رديف اول جدوله.
83454
------
اين رو هم اضافه كنم كه وقتي ريپورتم هنگام طراحي به ديتاسورس وصل باشه و كد بالا رو اجرا كنم(البته با كمي تغييرات) مشكلي نداره و درست اجرا ميشه... اما هدفم اينه كه ريپورت كاملا مستقل از ديتاسورس باشه و هنگام طراحي فقط فيلد دستي با تكست مشخص (براي پر شدن طرف كد) بسازيم...
با تشكر...

Rejnev
پنج شنبه 11 اسفند 1390, 19:18 عصر
کارم عجیب غریبه که پاسخی نداره یا فست ریپورت این امکان رو نداره؟!
توی کریستال ریپورت ویژوال استودیو میشه منبع داده رو از اشیا مختلف حتی کلاسهای برنامه(که این گزینه مد نظر منه) گرفت... اما اینجا ظاهرا همچین امکانی نداره...

iman909
سه شنبه 16 اسفند 1390, 21:41 عصر
کارم عجیب غریبه که پاسخی نداره یا فست ریپورت این امکان رو نداره؟!
توی کریستال ریپورت ویژوال استودیو میشه منبع داده رو از اشیا مختلف حتی کلاسهای برنامه(که این گزینه مد نظر منه) گرفت... اما اینجا ظاهرا همچین امکانی نداره...

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