امروزه با توجه به حجم وسیع اطلاعات، استفاده از Database در برنامه ها به جزء لاینفک تبدیل گشته است. حال با توجه به اینکه در زمینه های تجاری (و یا زمینه های غیرتجاری با حجم زیاد اطلاعات) ارائه ی گزارش از این Database ها، امری الزامی در یک نرم افزار و یا یک شبکه است، لازم است که ساختاری مناسب جهت انجام این مهم ایجاد شود.
سالها پیش متخصصان بعد از ایجاد کامل نرم افزار، مجبور به صرف زمان قابل توجهی (گاهی به اندازه نیمی از زمان ایجاد نرم افزار) برای ساخت و مدیریت این گزارش ها بودند، به خاطر اینکه مجبور می شدند علاوه بر ایجاد اطلاعات گزارش، آنرا (به عنوان مثال) داخل یک صفحه A4 قرار دهند، به صورتی که هم قابل چاپ (بدون هیچ نرم افزار کمکی) باشد، و هم با تقسیم اطلاعات در صفحات پشت سر هم، فرمت و قالب بندی آنها بدون تغییر باقی بماند. طی چند سال اخیر، روش ها و نرم افزار های متعددی از شرکت های مختلف برای حل این معزل و کمک به برنامه نویسان ارائه شد.
در هیچ زمینه ای، روش های مختلف کامل نیستند و هر کدام مزایا و معایبی دارند. این روشها هم از این قاعده مستثنی نبودند، ولی بالاخره روشی که شرکت فرانسوی Business Objects ارائه داد، توسط مایکروسافت به عنوان یک روش استاندارد در پلتفرم NET. پذیرفته شد، و یک نسخه ی رایگان (و البته با امکانات محدود) از نرم افزار آن که Crystal Reports نام دارد،هم در Visual Studio .Net گنجانده شد. این مطلب را می توانید در فرم اسپلش Visual Studio و در زیر منوی About از Visual Studio مشاهده کنید.
نکاتی که قبل از شروع مقاله باید به آنها دقت کنید :
بحث کامل در مورد Crystal Reports حداقل به 4-3 کتاب می انجامد. این فناوری حتی یک زبان برای خود دارد، و به دلیل کاربرد گسترده، از دو Syntax مختلف تشکیل شده است، تا طیف وسیع برنامه نویسان، با کمترین زمانی که صرف می کنند، بتوانند از Crystal Reportsاستفاده کنند. البته در این مقاله فقط در مورد نحوه ی استفاده از آن بحث می شود، که البته بحث کامل خود آن نیز به چند مقاله نیاز دارد.
نکته:این مقاله به صورتی نوشته شده است که در صورت نخواندن قسمت های آتی مقاله، بتوانید بدون اشکال از Crystal Reports در نرم افزار هایتان بهره ببرید.
برای بهره برداری کامل از این مقاله، نیاز به مهارت های زیر دارید:
· داشتن علم مقدماتی SQL Server
· آشنایی به یکی از زبان های .NET (البته برنامه های این مقاله به زبان VB.NET نوشته شده است، ولی با توجه به اینکه فهم توابع به کار برده شده، برای درک کامل کد و ترجمه آن به هر زبان دیگری از جمله #C و #J کافی می باشد، برای درک کامل این مقاله، آشنایی به هرکدام از زبان های NET. برای شما کافی است.)
نکته:با توجه به حجم مقاله ناگزیرم برنامه را به صورت مر حله به مرحله ( Step By Step ) آموزش دهم.
بخش طراحی و استفاده از Wizard :
قست ابتدای این برنامه که همان افزودن Database به پروژه هست، در دو حالت بررسی می شود. (توصیه می کنم بعد از اتمام مقاله برای هر حالت یک پروژه نمونه انجام دهید.)
حالت اول -Database شما قبلا ساخته شده است و شما فقط آنرا به پروژه اضافه می کنید:
با استفاده از گزینه ی Add Existing Item از منوی Project فایل SQL Databaseخود را به پروژه اضافه کنید. در این هنگام به صورت خودکار صفحه ی Data Source Configuration Wizard باز می شود. نود Tables را باز کرده ، جدولی را که می خواهید گزارش سازی کنید، انتخاب کرده و بر روی Finish کلیک کنید.
در این هنگام فایل Database و دیتاست مربوط به آن که شامل جدول مورد نظر است، به پروژه افزوده می شود. (در برخی از موارد به دلیل باگ نا مشخصی در Visual Studio، باید Visual Studio را بسته و دوباره باز کنید. توصیه می کنم ابتدا مرحله بعد را اجرا کنید و در صورت برخورد به مشکل، این کار را انجام دهید.)
حالت دوم - Database را در ابتدای پروژه ایجاد می کنید:
یک Database جدید ایجاد می کنید، در این هنگام صفحه یData Source Configuration Wizardکه قبلا آن را مشاهده کرده اید، باز می شود.این بار فقط گرینه ی Tables را انتخاب کرده و بر روی دکمه Finish کلیک می کنید. جداولتان را در Database ایجاد کرده، بر روی فایل dbsCrystalDataSet کلیک کرده و سپس جدول مورد نظر را از داخل Server Explorer به صفحه ی نمایش داده شده از dbsCrystalDataSet، Drag and Drop می کنید