PDA

View Full Version : گزارش گیری پویا



iranigirl1364
یک شنبه 02 دی 1386, 11:03 صبح
با سلام:
دوستان گرامی به کمکتون نیاز دارم
من در برنامم یک CheckListBox دارم که در قسمت پنجره Properties این ابزار در قسمت Items حدود 35 مورد با نام دلخواه خودم قرار دادم که این موارد مربوط به یک جدول در دیتا بیسم می باشند.
چه طوری می تونم فقط با نوشتن یک StroeProcedure این امکان رو به کاربر بدم که هر چند تا از این موارد رو که در زمان اجرا در این ChekListBox انتخاب کرد , فقط اون فیلد هایی رو که انتخاب کرده در کریستال ریپورت ببینه؟
اگه ابزار دیگه ای به جز کریستال ریپورت می تونه این کار رو انجام بده, لطفا معرفی کنید و طریقه کار با اون و همچنین کد مورد نیاز رو لطفا اینجا قرار بدهید
لطفا منو راهنمایی کنید.
با تشکر فراوان

iranrose63
یک شنبه 02 دی 1386, 11:46 صبح
تو لینک زیر یه مثال کامل گزارش گیری داینامیک هست ببین به دردت می خوره
http://www.codeproject.com/KB/cs/Dynamic_Crystal_Report.aspx

iranigirl1364
دوشنبه 03 دی 1386, 16:55 عصر
با اینکه توی این سایت عضو بودم اما نتونستم اون فایلو DownLoad کنم.
میشه لطفا شما اگه اونو DownLoad کردید اینجا بذاریدش(فقط یک مثاله من گزارش گیری پویا رو می خوام توی C#.NET Win انجام بدم, آیا امکانش هست؟)
با تشکر فراوان

اَرژنگ
دوشنبه 03 دی 1386, 17:50 عصر
با اینکه توی این سایت عضو بودم اما نتونستم اون فایلو DownLoad کنم.
میشه لطفا شما اگه اونو DownLoad کردید اینجا بذاریدش(فقط یک مثاله من گزارش گیری پویا رو می خوام توی C#.NET Win انجام بدم, آیا امکانش هست؟)
با تشکر فراوان
پروژه ضمیمه شده.

در مورد سوال پست اولتان:"چه طوری می تونم فقط با نوشتن یک StroeProcedure این امکان رو به کاربر بدم که هر چند تا از این موارد رو که در زمان اجرا در این ChekListBox انتخاب کرد , فقط اون فیلد هایی رو که انتخاب کرده در کریستال ریپورت ببینه؟
اگه ابزار دیگه ای به جز کریستال ریپورت می تونه این کار رو انجام بده, لطفا معرفی کنید و طریقه کار با اون و همچنین کد مورد نیاز رو لطفا اینجا قرار بدهید"
کریستال ریپورت اهمیتی به این ماجرا ندارد، منتها اگر میخواهید که ریپورت در کریستال ریپورت نمایش داده بشد داستان دیگری است، میشه گذارشها را در اچ‌تی‌ام‌ال و یا تکست و یا ‌ورد ساخت، ولی سوالات دیگری پیش میاد.

سوالتان را یکمی ساده کنید،اگر کریستال ریپورت را از سوالتان حذف کنید و فقط بپرسید که
"چه طوری می تونم فقط با نوشتن یک StroeProcedure این امکان رو به کاربر بدم که هر چند تا از این موارد رو که در زمان اجرا در این ChekListBox انتخاب کرد؟" کافی است.

سوال دوم این است که "کریستال ریپورت چگونه میتواند هر داتاستی را (تا ۳۶ فیلد) با هم به شکل ژنریک نمایش بده؟

پیدا کردن جواب برایه این ۲ سوال، جداگانه ساده تر است.

iranigirl1364
سه شنبه 04 دی 1386, 10:23 صبح
با سلام مجدد:
آقای آرژنگ:
به خاطر این مطلبتون ممنونم, دقیقا چیزی است که مد نظر من بود
می شه فایل ضمیمه رو نگاه کنید و در صورت امکان به چند سوال من جواب بدهید؟
با تشکر و احترام فراوان

iranigirl1364
سه شنبه 04 دی 1386, 15:16 عصر
با عرض سلام مجدد:
می شه لطفا به این فایل برنامه من یک نگاه بیندازید و منو راهنمایی کنید .
با تشکر فراوان

iranigirl1364
چهارشنبه 05 دی 1386, 07:37 صبح
دوستان گرامی:
اگر کسی می دونه چه طوری می شه با توجه به سوالی که مطرح کردم , گزارش گیری پویا رو انجام داد (حتی اگه توی کریستال ریپورت نباشه ,فقط لطفا توی فایلی باشه که قابلیت پرینت هم داشته باشه) , من رو رهنمایی کنید
با تشکر

اَرژنگ
چهارشنبه 05 دی 1386, 07:51 صبح
دوستان گرامی:
اگر کسی می دونه چه طوری می شه با توجه به سوالی که مطرح کردم , گزارش گیری پویا رو انجام داد (حتی اگه توی کریستال ریپورت نباشه ,فقط لطفا توی فایلی باشه که قابلیت پرینت هم داشته باشه) , من رو رهنمایی کنید
با تشکر

اگر از گزارش گیری پویا منظورتان این است که تعداد فیلدها متغییر باشد و کاربر بتواند با یک چکس باکس اضافه‌اشان کند، میشه یک اس‌کیو‌ال استرینگ به صورت داینامیک ساخت، و فیلدهایی را که قراره استفاده بشند را اضافه کرد. (اگر باید از استورد پروزیجر استفاده بشد، میشه نام فیلدها را به شکل یک آرایه و یا یک رشته به استورد پروسیجر و یا یک ویو داد ).

در مورد فایلی که قابلیت پرینت داشته باشد. یک فایل CSV را میشه با Excel باز کرد و کاربر میتواند بعد از انجام دادن هر عملیات دلخواهی نتیجه را پرینت کند.

اگر این مسئله را به دو قسمت متفاوت تقسیم کنید حل کردن هر قسمت خیلی ساده تر است.

parisa63
چهارشنبه 05 دی 1386, 13:18 عصر
اون قسمت داینامیک گزارش گیری رو می تونی این جوری انجام بدی که توی کریستال ریپورت
query رو این جوری بنویسی{ select * from test where argument1={?argument
و بعد از توی فرمت با این دستور به این پارامتر مقدار بدی
test.CrystalReport_moshahede_parvande crm = new test.CrystalReport_moshahede_parvande();
crm.SetParameterValue("argument1", argument);
crv_moshahede.ReportSource = crm;

اَرژنگ
پنج شنبه 06 دی 1386, 12:37 عصر
این مثال قسمت اول این کار است. زیاد تعریفی ندارد چونکه از روش استنداردی استفاده نکردم و همینطوری سرهم کردم، اگر یکی اصلاح و بهترش کند ممکند بیشتر به کار بیاد.

در ۲۰۰۸ با استفاده از
LINQ
اینکار ساده‌تر است

iranigirl1364
شنبه 08 دی 1386, 10:03 صبح
قبل از هر چیز باید از راهنمایی و لطف تک تک شکا دوستان تشکر کنم.
گفته اند امکان گزارش گیری پویا با ابزارهای گزارش گیری با نام های :Active Reports یا
StimulReport به راحتی انجام می شه.من کلی Search کردم اما به نتیجه ای نرسیدم
می خواستم منو در موارد زیر راهنمایی کنید:
1)آیا امکان استفاده از این ابزارها در سی شارپ وجود داره؟
2)اگه کسی از دوستان لینک دانلود این ابزارها رو به همراه کرکش رو اطلاع داره , لطفا اینجا قرار بده
با تشکر فراوان

happy65_sh
دوشنبه 10 دی 1386, 08:20 صبح
دوست عزیز منم مشکل شما را داشتم ومشکلم با مراجعه به لینک زیر حل شد . http://www.codeproject.com/KB/cs/Dynamic_Crystal_Report.aspx
Active Reports هم هزینه ای نزدیک به 60 هزار تومان داره البته چند وقت پیش که من پرس و جو کردم . لینک بالا دقیقا همون کاری را انجام میده که شما می خواهی انجام بدهی یعنی چندتا checklistbox داره و با انتخاب هر کدوم گزارش بر اساس موارد انتخاب شده تغییر می کنه.

اَرژنگ
دوشنبه 10 دی 1386, 08:26 صبح
دوست عزیز منم مشکل شما را داشتم ومشکلم با مراجعه به لینک زیر حل شد . http://www.codeproject.com/KB/cs/Dynamic_Crystal_Report.aspx
Active Reports هم هزینه ای نزدیک به 60 هزار تومان داره البته چند وقت پیش که من پرس و جو کردم . لینک بالا دقیقا همون کاری را انجام میده که شما می خواهی انجام بدهی یعنی چندتا checklistbox داره و با انتخاب هر کدوم گزارش بر اساس موارد انتخاب شده تغییر می کنه.
فقط همین؟ تمام کاری که انجام میده قابلیت سلکت کردن فیلدهاست؟ اگر که اینطور مثالی که فرستدم هم همینکار را انجام میده.
چی لازم هست که نه احتیاجی به کریستال رپورت و یا اکتیو رپورتس باشد ؟

iranigirl1364
دوشنبه 10 دی 1386, 15:36 عصر
بازم به خاطر کمک های تمام شما از همه شما ممنونم
دوست گرامی با آی دی, happy65_sh :
آقای آرژنگ قبلا همین فایل رو اینجا قرار دادند و من الان باز به سراغ اون رفتم و از لینک ارسالی شما استفاده کردم .
من یک مشکل دارم و اون اینکه برنامه ای که من ساختم با توجه به مراحلی که در سایت
CodeProject توضیح داده بود هیچ گونه Error نمی ده و اجرا می شه ولی هیچ مقداری از Database من در این کریستال ریپورت ویور نمایش داده نمی شه و فقط عنوان ستون ها رو نمایش می ده بدون هیچ مقداری.
دوستان عزیز:
میشه دو فایل زیر رو یک نگاهی بیندازید و منو راهنما یی کنید
فایل WindowsApplication1.zip سورس برنامه است و فایل DataBase Properties.zip هم خصوصیات و نام پایگاه داده ام در SqlServer و جدول و نام فیلد ها است
با تشکر و احترام فراوان

parisa63
سه شنبه 11 دی 1386, 11:54 صبح
واسه activereport توی گوگل data dynamic رو جستجو کن پیداش می کنی!

iranigirl1364
چهارشنبه 12 دی 1386, 12:23 عصر
با سلام:
دوستان گرامی لطفا به آخرین پاسخ من نگاهی بیندازید و دو تا فایلی رو که ضمیمه کرده ام با نام های :
1)WindowsApplication.zip
2)DataBase Properties.zip
ببینید و منو راهنمایی کنید.
به کمک شما نیاز دارم.
با تشکر و احترام فراوان

iranigirl1364
پنج شنبه 13 دی 1386, 14:10 عصر
با سلام:
دوستان گرامی لطفا به مطلب من که در تاریخ 10 دی ماه نوشته ام , نگاهی بیندازید و دو تا فایلی رو که ضمیمه کرده ام با نام های :
1)WindowsApplication.zip
2)DataBase Properties.zip
ببینید و منو راهنمایی کنید.
به کمک شما نیاز دارم.
با تشکر و احترام فراوان

iranigirl1364
چهارشنبه 19 دی 1386, 11:42 صبح
با سلام:
من می خواستم یک بار دیگه از همه شما خواهش کنم که لطفا به مطلب من که در تاریخ
10 دی ماه نوشته ام , نگاهی بیندازید و دو تا فایلی رو که ضمیمه کرده ام با نام های :
1)WindowsApplication.zip
2)DataBase Properties.zip
ببینید و منو راهنمایی کنید.
به کمک شما نیاز دارم.
با تشکر و احترام فراوان

happy65_sh
چهارشنبه 19 دی 1386, 12:25 عصر
دوست عزیز اگه دقیقا همراه لینک ارسال شده پیش می رفتی کارت گیر نمی افتاد
من به فایل های ضمیمه ات نگاه انداختم اول از همه توی Dataset که تعریف کردی نباید نام فیلد هات باشه وباید column ها ت به همراه شمارشون قرار بگیره دوم اینکه Database اضافه شده به Crystal report باید همون Data set ایجاد شده توی برنامه ات باشه تا همون column ها را به report اضافه کنی یه چیز دیگه دقت کن شماره گذاری col ها و column هات یکسان باشه
امیدوارم مشکلت حل بشه.

iranigirl1364
چهارشنبه 19 دی 1386, 16:14 عصر
با سلام:
من توی DataSet نام Column ها رو هم قرار دادم , اما تغییری حاصل نشد . فکر کنم مشکل از این قسمت که گفتید:DataBase اضافه شده به کریستال ریپورت باید همون Data Set ایجاد شده در برنامه باشه
می شه در مورد اینکه من چه طوری DataBase اضافه شده به کریستال ریپورت رو همون Data Set ایجاد شده در برنا مه ام قرار بدم؟این قسمت رو من سعی کردم مثل توضیحاتش عمل کنم , اما نشد و مجبور شدم از راه دیگه ای عمل کنم :ناراحت::ناراحت:
لطفا منو راهنمایی کنید
با تشکر و احترام فراوان

iranigirl1364
چهارشنبه 19 دی 1386, 18:23 عصر
دوستان گرامی:
بالاخره به نتیجه رسیدم
لازم می دونم از تما می شما دوستان گرامی که توی این مدت در مورد این تاپیک به من با راهنما یی های اثر بخشتون نهایت لطف رو داشتید , تشکر کنم.
بهترین راه حل برای این مساله در سایت CodeProject که لینکش رو دوستان اینجا قرار دادند , است(البته باید تمامی مراحل توضیح داده شده دقیقا انجام شود)
بازم ممنونم
با احترام فراوان