ایجاد گزارش RDLC درASP.NET

پنجشنبه 9 اردیبهشت 1395

RDLC مخفف Report Definition Language Client Side است . که از آن برای ایجاد گزارش با استفاده از Microsoft Reporting Technology استفاده می شود.

ایجاد گزارش RDLC درASP.NET

مزایا:

    
قابل اجرا روی سمت کلاینت
     اجرا بر اساس تنها یک Dataset
     اجرا بر اساس یکData Source
     بدون نیاز به نصب هیچ Reporting Service Instance

 این مقاله درباره ی مراحل ایجاد یک گزارش RDLC جدید در C # می باشد.

 

مرحله 1: یک وب سایت جدید ویژوال استودیو 2008 ایجاد کنید ، از File ،روی  New Web Site  کلیک کنید.

سپس مسیر مورد نظر برای ذخیره سازی و نام پروژه را انتخاب و وارد میکنیم.

در اینجا، نام وب سایت را  RDLC قرار میدهیم.

Create a new website

شکل 1 : ایجاد یک وبسایت جدید

سپس دکمه OK را بزنید.

مرحله 2: در حال حاضر به یک DataSet برای گزارش گیری نیاز داریم. در اینجا مراحل عبارتند از:

روی پروژه راست کلیک کرده و گزینه Add new Item و سپس DataSet را انتخاب میکنیم.

Dataset Creation

شکل 2 :ایجاد Dataset

نامی برای  Dataset  انتخاب کرده و سپس دکمه ADD را برای کاوش در پنجره Dataset فشار میدهیم.

حالا dataset RDLC را در پوشه ی App_Code قرار میدهیم و بعد از آن پنجره Dataset باز میشود.

Dataset window

شکل 3: پنجره  Dataset

مرحله 3: در قسمت  working area پنجره Dataset کلیک راست کنید،Add، و سپس DataTable را انتخاب کنید.

Adding Data Table

شکل4: افزودن Data Table

 data tableرا مانند زیر به   dataset در working area اضافه  میکنیم.

Data Table

شکل 5 :Data Table

پس از ایجاد جدول ، روی جدول راست کلیک کرده و سپس  Add ، و سپس  Column را برای اضافه کردن ستون جدید انتخاب کنید.

Adding Column

شکل 6: افزودن ستون

پس از اضافه کردن ستون نیاز به تغییر نام جدول به نام  tblStudent داریم.

 After Column Field Added

شکل 7: ستون فیلد اضافه شده

 حالا  data set  آماده برای اتصال به گزارش است.

گام 4: پس از ایجاد Dataset ،  RDLC را ایجاد میکنیم.

روی پوشه وب سایت راست کلیک کرده ، گزینه Add new Item  ، و سپس  Report Wizard را انتخاب میکنیم.

Report Creation

شکل8: ایجاد Report

نام گزارش را Student.rdlc میگذاریم ، و سپس روی دکمه  Add کلیک میکنیم. پس از کلیک  روی دکمه  Add پنجره  ای باز خواهد شد.در این پنجره Next را فشار میدهیم.

Pop up window

شکل 9: پنجره PopUp

پس از کلیک برروی Next  ، در پنجره بعدی  data source خود را انتخاب میکنیم.

Data Source selection window

شکل 10: پنجره انتخاب Data Source

این پنجره برای  انتخاب data source  است که dataset جدول tblstudent را انتخاب و سپس روی دکمه  Next کلیک کنید.

سپس نوع گزارش  Tabular را انتخاب کنید و روی  Next را بزنید.  تب های زیر نمایش داده میشود. در این تب فیلدهایی که نیاز به نمایش آن در  گزارش خود دارید را انتخاب کنید. سپس دکمه Page را فشار دهید تا آن را به ستون فیلد های نمایش داده شده ، اضافه کنید. سپس table layout  مورد نظر خود انتخاب و پس از آن table style را انتخاب کنید  و روی Next کلیک کنید . در اینجا table style ،  forest.  را انتخاب کرده ایم وپس از آن با کلیک بر روی دکمه Finish از ویزارد ایجاد گزارش خارج میشویم.

در حال حاضر گزارش ها به فرمت های زیر نمایش داده میشوند.

RDLC Report

شکل11 :RDLC Report

 مرحله 5 : در این مرحله یک  reporting viewer در صفحه وب اضافه میکنیم.

در گزارش  RDLC ما نیاز به افزودن reporting viewer  داریم. این  بدان معناست که ما نیاز به یک Script manager  که  Ajaxcontroltoolkit.dll آن به رفرنس  صفحه وب ما اضافه شده باشد ،داریم.

انتخاب ScriptManager در Ajax Extension جعبه ابزار

Adding Script Manager

شکل 12: افزودن Script Manager

و سپس از قسمت  Reporting جعبه ابزار،  ReportViewer را انتخاب میکنیم.

Adding Report Viewer

شکل13 : افزودن ReportViewer

کدهای  بایند یک گزارش از دیتابیس

اضافه کردن رفرنس به  کد صفحه مانند زیر

    using System.Data;  
    using System.Data.Sql;  
    using System.Data.SqlClient;  
    using Microsoft.Reporting.WebForms;  

    public partial class_Default: System.Web.UI.Page  
    {  
        protected void Page_Load(object sender, EventArgs e)  
        {  
            SqlConnection con = newSqlConnection("Data Source=sql Server name ;Initial Catalog=ResultDB;Integrated Security=True");  
            if (!IsPostBack)  
            {  
                string strQuery = "SELECT * FROM tblStudent";  
                SqlDataAdapter da = newSqlDataAdapter(strQuery, con);  
                DataTable dt = newDataTable();  
                da.Fill(dt);  
                RDLC ds = newRDLC();  
                ds.Tables["tblStudent"].Merge(dt);  
                ReportViewer1.ProcessingMode = ProcessingMode.Local;  
                ReportViewer1.LocalReport.ReportPath = Server.MapPath("Student.rdlc");  
                ReportDataSource datasource = newReportDataSource("RDLC", ds.Tables[0]);  
                ReportViewer1.LocalReport.DataSources.Clear();  
                ReportViewer1.LocalReport.DataSources.Add(datasource);  
            }  
        }  
    }  

پس از اجرا خطای زیر را  میبینید،و میتوانید آن را معنی کنید

Error

شکل14: Error

 کد زیر را در web.confige وارد کنید.   

<addverb="*"path="Reserved.ReportViewerWebControl.axd"type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />

 

 

 

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید