[FONT="]برای گزارش گیری از داده ها، از نرم افزار های مختلفی میشه استفاده کرد اما از اونجایی [/FONT][FONT="]Crystal Report[/FONT][FONT="] نسخه ابتدایی اون به همرا [/FONT][FONT="]Visual Studio [/FONT][FONT="] به صورت رایگان عرضه میشه بسیاری دوستان از اون برای گزارش گیری استفاده می کنند .[/FONT]
[FONT="]برای گزارش گیری ابتدا یک پروژه ایجاد کرده و یک فرم به پروژه به نام [/FONT][FONT="]FormReport[/FONT][FONT="] اضافه کنید در این فرم از قسمت ابزار گزینه [/FONT][FONT="]CrystalReportViewer[/FONT][FONT="] را به فرم اضافه کنید .[/FONT]
[FONT="]از منوی [/FONT][FONT="]Project -> Add New Item [/FONT][FONT="] یک فایل [/FONT][FONT="]Crystal Report[/FONT][FONT="] را به پروژه اضافه کنید و در این قسمت با دوبار کلیک بر روی فایل تازه ایجاد شده ، صفحه [/FONT][FONT="]Designer[/FONT][FONT="] باز شده و به طراحی گزارش بپردازید ( توضیح این بخش مفصل بوده و از بحث این مقاله خارجه با کمی حوصله حتما می تونید که یک گزارش خوب طراحی کنید ) ،پس از طراحی گزارش آن را ذخیره کرده و به پروژه بر گردید .[/FONT]
[FONT="]در فرم اصلی برنامه یک عدد [/FONT][FONT="]Button [/FONT][FONT="] و یک عدد [/FONT][FONT="]DataGridView [/FONT][FONT="] قرار بدین و کدهای زیر را در فرم اصلی وارد کنید .[/FONT]
[FONT="]ابتدا یک متغییر عمومی به صورت زیر تعریف کنید (این روش و روشهایی دیگری که در این آموزش استفاده می شود پیشنهادی است و شما می توانید از روشهای دیگر نیز استفاده کنید)[/FONT]
[FONT="]private[/FONT][FONT="] DataTable dataTableEmp = new DataTable(); [/FONT][FONT="]در رویداد [/FONT][FONT="]Load[/FONT][FONT="] فرم نیز کد زیر را قرار دهید ( لازم به توضیح نیست که باید ابتدا کانکشن را ایجاد کنید )[/FONT]
[FONT="]dataTableEmp.Clear();[/FONT][FONT="]sqlConnection2.Open();[/FONT]
[FONT="]sqlDataAdapter1.Fill(dataTableEmp);[/FONT]
[FONT="]sqlConnection2.Close();[/FONT]
[FONT="]dataGridViewDB.DataSource = dataTableEmp;[/FONT]
[FONT="]و در نهایت نیز در [/FONT][FONT="]Button [/FONT][FONT="] مربوطه کد زیر را قرار دهید [/FONT]
[FONT="]FormReport f = new FormReport();[/FONT][FONT="]f.dataTableEmp = dataTableEmp;[/FONT]
[FONT="]f.ShowDialog();[/FONT]
[FONT="]من برای ارسال داده از یک متغییر عمومی به صورت [/FONT][FONT="]Public [/FONT][FONT="] در فرم دوم استفاده کرده ام ،شما می توانید از هر روشی که راحت تر هستید استفاده کنید .[/FONT]
[FONT="]در فرم دروم یعنی [/FONT][FONT="]FormReport[/FONT][FONT="] ابتدا یک متغییر عمومی به صورت زیر تعریف کرده[/FONT]
[FONT="]public[/FONT][FONT="] DataTable dataTableEmp;[/FONT][FONT="]و در نهایت کدهای زیر را در رویداد [/FONT][FONT="]Load [/FONT][FONT="] فرم دوم قرار دهید [/FONT]
[FONT="]CrystalReport1 c = new CrystalReport1();[/FONT][FONT="]c.SetDataSource(dataTableEmp);[/FONT]
[FONT="]crystalReportViewer1.ReportSource = c;[/FONT]
فایل زیر یه نمونه از کریستال ریپورت با اكسس است.