با سلام
حتما تا حالا شده که نیاز به گزارش گیری داشته باشین و بخواین سریع یک گزارش رو آماده کنید ولی تا حالا این کار رو انجام ندادین.
به نظر من یکی از بهترین نرم افزار های گزارش گیری نرم افزار stimulsoft هستش که در برنامه بالا استفاده کردم.
به طور کلی این گزارش ساز توانایی ساخت گزارش رو در win , web , silverlight , wpf به ما میده و کار با اون نیز خیلی ساده و راحت هستش.
نحوه کار:
در پروژه کلاسی به نام Print وجود دارد که در این کلاس تمامی کد های مورد نیاز برای یک گزارش سازی رو به ما میده(فقط بخش ارسال اطلاعات و نمایش و همچنین امکانات لازم برای تغییرات جزی در طراحی و کنترل های بکار رفته در خود فایل ریپرت.).
برای اینکه بتونین اطلاعات رو ارسال کنید نیاز به یک یا چند DataTable دارین که ساختار کلی اطلاعات رو در DataTable بسازید و اطلاعات ساختار یافته و با type های مشخص شده و استاندارد رو به گزارش ساز ارسال کنید.
var FirstTable= new DataTable("FirstTable");
FirstTable.Columns.Add("Name");
FirstTable.Columns.Add("Famil");
با دستور بالا ما یک DataTable رو ساختیم که دو ستون دارد حالا باید برای این ستون ها خط اضافه کنیم تا اطلاعات رو وارد اون کنیم.
FirstTable.Rows.Add("محمد","شریعتی");
FirstTable.Rows.Add("رضا","خسروانی");
خوب با این کد هم ما دو خط به جدول ساخته شده اضافه کردیم.
حالا برای ارسال اطلاعات به گزارش باید از کلاس های Stimulsoft استفاده کنیم.
کلاس های مورد استفاده در نمونه برنامه اول در بخش رفرنس موجود هستش با اسم Stimulsoft شروع شده اند. آنها را کپی کرده و یا برنامه Stimulsoft رو دانلود کنید.
از فضای نام : using Stimulsoft.Report;
در کلاس مورد نظر استفاده میکنیم.
در تابع مورد نظر که جدول FirstTable رو در اون ایجاد کردیم و خطوط رو به اون اضافه کردیم از StiReport یک نمونه جدید ایجاد میکنیم.
var Report=new StiReport();
در این کلاس تابعی به نام RegData وجود دارد که یکی از ورودی های آن DataTable هست با استفاده از این گزینه جدول FirstTable رو تخصیص میدیم.
Report.RegData(FirstTable);
خوب حالا این کلاس حاوی اطلاعات مورد نظر ما هستش.
چون برای اولین با میخوایم گزارش رو بسازیم تنها باید با استفاده از تابع Design فرم ساختن گزارش رو لود کنیم.
Report.Design();
بعد از اجرای کد صفحه طراحی گزارش برای شما باز شده و در آنجا می توانید گزارش را بسازید و فایل آنرا ذخیره کنید.
بعد از ذخیره فایل با استفاده از تابع Load می توانید فایل ذخیره شده رو به عنوان ورودی پیش فرض به کلاس مورد نظر ارائه بدیم.
فایل ورودی می تواند یک آدرس یا Binary باشد که میتوان از Resource آنرا فراخوانی کرد.
Report.Load("ReportFile.mrt");
در صورت اجرای این کد می توانید برنامه را با صفحه ساخته شده باز نمایید.
حال میخواهید فقط صفحه نمایش پرینت لود شود که به جای دستور Design از دستور Show استفاده میکنیم.
شکل کلی دستورات
using Stimulsoft.Report;
namespace Print
{
class Print
{
public void PrintMain()
{
var FirstTable=new DataTable("FirstTable");
FirstTable.Columns.Add("Name");
FirstTable.Columns.Add("Famil");
FirstTable.Rows.Add("محمد","شریعتی");
FirstTable.Rows.Add("رضا","خسروانی");
var Report=new StiReport();
Report.RegData(FirstTable);
Report.Load("ReportFile.mrt");
Report.Desgin();
//OR
Report.Show();//
//OR
Report.Print();//
}
}
}