پاسخ به:آموزش کار با نرم افزار گزارش گیری Stimulsoft Reports بخش دوم
جمعه 15 دی 1391 12:01 PM
سناریوی کلی به این صورته که شما یه پروژه دارید (فرضا با C# و ویندوز فرم) و یه منوی گزارشات که لیستی از گزارشات رو به کاربر نشون میده با انتخاب هر گزارش یه فرم باز میشه که اصطلاحا من بهش میگم “فرم فیلتر گزارش” کاربر یه سری پارامترهای فیلتر واسه گزارشش تعیین می کنه و دکمه نمایش گزارش رو میزنه، پردازش های لازم برای نمایش گزارش انجام میشه و نهایتا یه گزارش ترو تمیز به کاربر نمایش داده میشه.ای روند کاریه که معمولا برای گزارش گیری انجام میشه.حالا میایم قدم به قدم یه گزارش رو می سازیم:
روال کار من به این صورته که ابتدا با Designer استیمول گزارش رو می سازم بعد یه جایی ذخیره می کنم و بعد از توی کد گزارش رو Load کرده و به کاربر نمایش می دم.
اولین مرحله برای ساخت گزارش (که معمولا از روی یه طرح اولیه که روی کاغذ کشیدین شروع میشه) وصل شدن به دیتابیس برای واکشی دیتا و فراهم نمودن ستون های گزارشه.فرض هم بر اینه که دیتابیس SQL Server هست.از Tab دیکشنری (Dictionary Tab) که به طور پیش فرض در سمت راست Designer استیمول هست New Item و New Connection رو میزنیم.
از پنجره Select Type of connection باز شده Sql Connection ر انتخاب می کنیم
در پنجره New Sql Connection،Connection String مورد نظر را وارد کرده و Ok می کنیم.(از دکمه Test جهت اطمینان از برقراری ارتباط می توان استفاده کرد)
حالا از همون تب دیکشنری، New Item->New Data Source رو انتخاب می کنیم.
پنجره New Data Source باز می شود که با دابل کلیک بر روی نام connection (ساخته شده در مرحله قبلی) می توان برای ایجاد ارتباط استفاده کرد.
همانطور که در تصویر زیر می بینید در پنجره Select Data لیست تمامی جداول،ویوها و روال های ذخیره شده در دیتا بیس وجود دارد و برای ایجاد دیتا سورس می توان از آنها استفاده کرد و یا در صورت نیاز از دکمه Query New در بالای صفحه استفاده کرد.
در این مثال از دکمه Query New برای ساخت کوئری استفاده می کنیم در این پنجره می توان کوئری مورد نظر را نوشت و از دکمه Run Query Builder از اجرای صحیح کوئری مطمئن شد، بعد جهت بازیابی ستونهای حاصل از کوئری حتما می بایست دکمه Retrieve Columns را زده تا ستونها در لیست Columns قرار گیرند.
خوب حالا که ستونها لیست شدن میشه نام و نوع هر کدوم رو در صورت نیاز تو پنجره Property (پایین و سمت راست عکس فوق) تغییر داد.در اینجا چند نکته وجود داره:
اول اینکه شاید خیلی ها بگن که ما می خوایم داده هامون رو فیلتر کنیم، تو همین کوئری، Where Clues لازم رو می نویسیم تا فقط داده های مورد نظرمون رو نمایش بده.باید بگم میشه اینکار رو انجام داد اما مشکلی که وجود داره اینه که اینجوری ما یه گزارش داریم که همیشه با یه فیلتر خاص به کاربر نشون داده میشه و امکان اینکه کاربر بخواد خودش فیلتر رو تعیین کنه وجود نداره و گزارش گیری یه حالت استاتیک میشه.(اگه فکر می کنید واقعا نیازی به فیلتر گزارش توسط کاربر نیست میتونید این کارو بکنید)
نکته دوم که خیلی مهمه نام دیتا سورس هست که الان تو شکل فوق DataSource1 داده شده.سعی کنید یه نام با مسما انتخاب کنید که بعدا تو کد به کارمون می آد!
حالا OK رو میزنیم تا این دیتا سورس به نود Queries تو پنجره Select Data اضافه بشه بعد هر کدوم از جداول یا ویوها رو هم که نیاز دارم (به غیر از این دیتا سورس که خودمون نوشتیم) تیک می زنیم تا به مجموعه دیتا سورس مون اضافه بشه.
اکنون با توجه به طرحی که رو کاغذ واسه گزارش داریم شروع به قرار دادن فیلدها روی صفحه گزارش می کنیم.برای این کار از یه کامپوننت به اسم Data استفاده میشه و فیلدهای مورد نظر تو این کامپوننت روی صفحه گزارش قرار می گیره.برای نمایش عنوان ستونها در هر صفحه از Header استفاده می کنیم و نام هر ستون رو توی این کامپوننت می ذاریم تا توی هر صفحه نمایش داده بشه.همه کامپوننت های استیمول سمت راست Designer به صورت عمودی قرار داره.پس از طراحی گزارش میشه از تب Preview استفاده کرد.کلا طراحی گزارش خیلی به سلیقه شما بستگی داره و تقریبا هر نوع امکانی واسه طراحی تو استیمول وجود داره و حتی اگه وجود نداشت می تونید خودتون بنویسید و به استیمول اضافه کنید!
طراحی گزارش که تموم شد اونو یه جا ذخیره کنید تا تو پست بعد نحوه load کردن گزارش،ایجاد فرم فیلتر و نمایش گزارش فیلتر شده رو (همگی از تو کد C#) بهتون بگم.
مدیر تالار های: