ورود

View Full Version : سوال: چگونگی گزارش گیری بر اساس فیلتر کردن اطلاعات یک رکورد از یک جدول



rfattahi
شنبه 01 بهمن 1390, 11:35 صبح
با سلام
ببخشید دوستان
من می خوام اطلاعات یک جدول را بر اساس یک رکورد و محتویات ان فیلتر کنم مثلا رکورد های مساوی صفر نمایش داده نشود و یا رکوردهایی که مساوی کارکترaaa است نمایش داده نشود
من دو مسیر برای اجرای این منظور را انتخاب کردم
اول در قسمت formula work shap رفتم و رکورد سلکشن را انتخاب کردم و عبارت
TEMP_MAH.Mosaedeh} <> 0} را تایپ کردم و ان را ذخیره نمودم ولی کزارش در زمان اجرا درست عمل نمی کند و رکورد های حاوی صفر را نیز گزارش می دهد .
در روش دوم من در سورس برنامه در c# هم این کد را نوشتم ولی باز هم در زمان اجرا کار نکرد
CrystalReport1 cr = new CrystalReport1
cr.SetDataSource(ds
" cr.RecordSelectionFormula = "{TEMP_MAH.NO_HESAB}!=AAAAAAAAAAAAA

sepehr.net
سه شنبه 04 بهمن 1390, 13:05 عصر
سلام
بهترین راه برای این سبک گزارشات (روشی که کاربر گزارش رو بر اساس یک سری از فیلد ها کاستومایز میکنه) اینه که ستورات مربوطه رو درون پروسیجر نمایش بدید و فیلد هایی که توسط کاربر مقدار دهی میشن رو پارامتر های ورودی پروسیجر قرار بدید. بعد کریستال رو به پروسیجر مستقیما بایند کنید
با این روش گزارشات با سرعت بیشتری نمایش داده میشه و هم دست برنامه نویس باز تر میشه برای طراحی گزارشات داینامیک

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

اگه بخواهید از کریستال این کار رو انجام بدید ، ابتدا یک پارامتر تعریف میکنین که مقدار مربوطه به اون پاس داده بشه (مثلا 0 یا aaa )
البته نوع این پارامتر با نوع فیلد بانک اطلاعاتی باید یکی باشه

بعد از این کار روی گروه مورد نظر (گروهی که اطلاعات رو درون اون کاشتید) کلیک راست کنین و گزینه Format Section رو انتخاب کنید ، دکمه جلوی قسمت Suppress رو کلیک کنید
در این قسمت فیلد از دیتابیس رو انتخاب کنین و اون رو مخالف پارامتر مورد نظر (همونی که تعریف کردید) قرار بدین

فقط موقع نمایش گزارش ، باید پارامتر ساخته شده رو به گزارش پاس بدید

mohammad777666
سه شنبه 04 بهمن 1390, 18:42 عصر
با سلام خدمت دوستان من اولین باری است که تو عمرم یه پست می زارم .
من میخوام کریستال ریپورت داینیمیک درست کنم تو هر سایتی گشتم هیچی نبود؟منظورم اینه که میخوام با استفاده از علاقه ی کاربر برای انتخاب عنوان مورد نظرش از هر جدولی، که بخواد تو گزارش نمایش داده بشه ایجاد کنم
لطف میکنید.

sepehr.net
سه شنبه 04 بهمن 1390, 20:37 عصر
این لینک (http://www.codeproject.com/Articles/20670/Dynamic-Crystal-Report-with-C) رو نگاه کن ، این ساده ترین حالت هست و برای شروع خوبه