# مباحث متفرقه برنامه نویسی > گزارش سازی با Crystal Report >  کد نویسی در کریستال ریپورت

## reza2005nejad

سلام بر همگی
مشکلی که من دارم در مورد چگونگی کد نویسی در محیط سی شارپ برای مدیریت کریستا ریپورت است.
اگر بخواهم مشکل خود را دقیق تر بیان کنم باید بگویم :
من می خواهم کاربری که با نرم افزارم کار می کند این توانایی را داشته باشد که در موقع گزارش گیری ، فیلد های مورد نظر خود را انتخاب کرده و در گزارش نمایش دهد و در هر دفعه بتواند گزارشی از فیلدهای متفاوت یا مشابه با فیلدهای گزارش قبلی انتخاب نماید
با تشکر
reza2005nejad@yahoo.com

----------


## hdv212

با سلام ..
برای حل مشکل شما، یا باید چند تا report با فیلدهای مختلف طراحی کنی و با توجه به انتخاب فیلدها توسط کاربر،report های مختلف رو اجرا کنی،یا میتونی با توجه به گستردگی فیلدهات،همه ی فیلدها رو در یه گزارش بیاری و با توجه به انتخاب های کاربر فیلدهاتو Invisible یا Visiblr کنی .. به نظر من راه حل اولی بهتره چون اولا گزارشت از لحاظ طراحی خراب نمیشه و ثانیا امکان مدیریتش راحت تره ..موفق باشید

----------


## reza2005nejad

سلام
با تشکر از دوست عزیزیی که دو پیشنهاد برای رفع مشکلم داشتند باید عرض کنم :
در مورد پیشنهاد اول شما که منظورتان پیش بینی کردن حالت های گزارش گیری برای کاربر است باید عرض کنم نمی توان رفتار کاربر را پیش بینی کرد و یک برنامه نویس باید امکان گزارش گیری برای تمام حالت هایی که کاربر برای گزارش گیری ممکن است مورد نظرش باشد را فراهم کند که اگر به گفته شما عمل کنم اگر فقط 3 فیلد داشته باشم باید 7 حالت متفاوت را در 7 گزارش مجزا طراحی کنم پس نتیجه می گیریم ....
در مورد پیشنهاد دوم شما باید بگویم اگر من یک صفحه کریستال ریپورتی را با تمام خطوط آن و textbox های آن طراحی کنم چگونه می توانم در گزارشات متفاوتی که کاربر می خواهد ، این خطوط و textbox ها را مرئی و نامرئی کنم و چگونه می توانم نشان دادن یا ندادن فیلدها را کنترل کنم ؟؟؟

منتظر ارائه راه حل از طرف دوستان عزیز برنامه نویس هستم.

با تشکر

----------


## reza_rad

> چگونه می توانم نشان دادن یا ندادن فیلدها را کنترل کنم ؟؟؟


https://barnamenevis.org/showth...ess#post257072

با جستجوی بیستر مطالب بیشتری هم در این مورد پیدا می کنید.

پ.ن:در کل غیر از راههایی که دوستمون گفتند راه دیگه ای برای اینکار وجود نداره. مگر اینکه از ابزار گزارشگیری دیگه ای استفاده کنید که امکانات داینامیک بیشتری داشته باشه.

----------


## hdv212

دوست عزیز ... با توجه به راه حل اولی که بیان کردم .... یعنی طراحی ریپورت های مختلف، این بستگی به منطق برنامه نویسی شما در پروژه ی مورد نظرت داره، شما باید طوری نرم افزارتو طراحی و پیاده سازی کنی که با کمترین کد نویسی بتونی بهترین نتیجه رو بگیری ... در هر صورت تا اون زمانی که شما دنبال حل این مشکلت هستی فکر کنم براحتی بتونی 7 گزارشتو طراحی کنی ..... باز انتخاب با خودته ..

----------


## reza2005nejad

دوستان عزیز سلام
از صحبت هایی که شما کردید این برداشت می شود که کریستال ریپورت محیطی ناقص برای گزارش گیری است که فاقد امکان کدنویسی بصورت داینامیک می باشد .
من که بعید می دانم .
حتماً باید روش هایی برای کد نویسی و مدیریت کنترل ها و فیلدهای کریستال ریپورت بصورت داینامیک وجود داشته باشد در غیر این صورت این اشکال بسیار بزرگی برای دات نت در بحث  گزارش گیری  محسوب می شود

----------


## sm

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

موفق باشین

----------


## kBolouri

با سلام به همگی دوستان  من هم همین مشکل را دارم و دنبال یک کامپوننت یا راهی برای نوشتن یک کامپوننت میگردم ...اگه نمونه کدی سراغ دارین ممنون میشم راهنمایی کنین

----------


## tdodangeh

شاید این تاپیک کمکتون کند!البته اگر گزارشگیری پویا را جستجو کنید نیز می تواند کمکی باشد
https://barnamenevis.org/showthread.php?t=88854

----------

