[font="]برای گزارش گیری از داده ها، از نرم افزار های مختلفی میشه استفاده کرد اما از اونجایی [/font][font="]Crystal Report[/font][font="] نسخه ابتدایی اون به همرا [/font][font="]Visual Studio [/font][font="] به صورت رایگان عرضه میشه بسیاری دوستان از اون برای گزارش گیری استفاده می کنند .[/font][/RIGHT] [RIGHT][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][/RIGHT] [RIGHT][font="]در فرم اصلی برنامه یک عدد [/font][font="]Button [/font][font="] و یک عدد [/font][font="]DataGridView [/font][font="] قرار بدین و کدهای زیر را در فرم اصلی وارد کنید .[/font] [font="]ابتدا یک متغییر عمومی به صورت زیر تعریف کنید (این روش و روشهایی دیگری که در این آموزش استفاده می شود پیشنهادی است و شما می توانید از روشهای دیگر نیز استفاده کنید)[/font][/RIGHT] [COLOR=blue][font="]private[/font][/COLOR][font="] [COLOR=#2b91af]DataTable[/COLOR] dataTableEmp = [COLOR=blue]new[/COLOR] [COLOR=#2b91af]DataTable[/COLOR](); [/font] [RIGHT][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] [RIGHT][font="]و در نهایت نیز در [/font][font="]Button [/font][font="] مربوطه کد زیر را قرار دهید [/font][/RIGHT] [font="]FormReport f = [COLOR=blue]new[/COLOR] FormReport();[/font] [font="]f.dataTableEmp = dataTableEmp;[/font] [font="]f.ShowDialog();[/font] [RIGHT][font="]من برای ارسال داده از یک متغییر عمومی به صورت [/font][font="]Public [/font][font="] در فرم دوم استفاده کرده ام ،شما می توانید از هر روشی که راحت تر هستید استفاده کنید .[/font][/RIGHT] [font="]در فرم دروم یعنی [/font][font="]FormReport[/font][font="] ابتدا یک متغییر عمومی به صورت زیر تعریف کرده[/font][/RIGHT] [COLOR=blue][font="]public[/font][/COLOR][font="] [COLOR=#2b91af]DataTable[/COLOR] dataTableEmp;[/font] [RIGHT][font="]و در نهایت کدهای زیر را در رویداد [/font][font="]Load [/font][font="] فرم دوم قرار دهید [/font] [font="]CrystalReport1 c = [COLOR=blue]new[/COLOR] CrystalReport1();[/font] [font="]c.SetDataSource(dataTableEmp);[/font] [font="]crystalReportViewer1.ReportSource = c;[/font]