آشنایی با کنترل Report Viewer در ASP.Net
یکشنبه 15 شهریور 1394در این پست قصد داریم به صورت گام به گام و با یک مثال نحوه استفاده از کنترل Report Viewer را برای نمایش RDLS یا گزارش Local SSRS در ASP.Net را نشان دهیم.
در این برنامه ما از بانک اطلاعاتی رایگان Microsoft’s Northwind sample database استفاده می کنیم.
1- DataSet را به برنامه ASP.Net Website خود اضافه می کنیم.
از آنجاییکه از RDLC Report بصورت آفلاین استفاده می کنیم، از DataSet برای پر کردن RDLC Report با داده ها از بانک اطلاعاتی استفاده خواهیم کرد.
2- اضافه کردن Data Table به DataSet
گام بعدی ما اضافه کردن یک DataTable به DataSet می باشد.
3- اضافه کردن ستون یا فیلد به DataTable
در DataTable نیاز داریم که نام ستون هایی را که می خواهیم در RDLC Report نشان دهیم را تعیین کنیم.
به این نکته توجه داشته باشد که نام ستون ها در DataTable باید دقیقا با نام ستون ها در بانک اطلاعاتی مطابقت داشته باشد.
بصورت پیشفرض ستون ها از نوع string می باشند ولی می توانیم نوع آنها را طبق نیاز تغییر دهیم.
4- اضافه کردن RDLC Report
از طریق راست کلیک و گزینه ADD New Item یک RDLC Report به برنامه اضافه کنید. ما از Report Wizard استفاده می کنیم بنابراین پیکربندی گزارش را آسان تر می کند.
5- انتخاب DataSet
اکنون نیاز داریم که DataSet را انتخاب کنیم که برای RDLC Report مانند DataSource عمل خواهد کرد. بنابراین Customets DataSet را که ایجاد کردیم را انتخاب می کنیم.
6- انتخاب فیلد برای نمایش در RDLC Report
در اینجا نیاز داریم که فیلدهایی را که می خواهیم نمایش دهیم انتخاب کنیم. به آسانی می توانیم هر فیلدی را که می خواهیم درون Values Box که در تصویر نمایان است Drag and Drop می کنیم.
7- انتخاب Layout
درمرحله بعد از شما درمورد layout سوال خواهد شد. می توانیم به راحتی از این مرحله گذر کنیم.
8- انتخاب Style
در آخر استایل را انتخاب می کنیم. مانند رنگ، تم و غیره.
هنگامی که در مرحله بالا روی دکمه Finish کلیک می کنیم، Reporter آماده است و در برنامه نشان داده خواهد شد. مانند تصویر زیر.
9- اضافه کردن Report Viewer به صفحه
به منظور نمایش گزارش نیاز به اضافه کردن کنترل ReportViewer در صفحه می باشد. این کنترل در Toolbox می باشد. کنترل ReportViewer نیاز به ScriptManager در صفحه دارد.
هنگامی که کنترل ReportViewer را درصفحه اضافه می کنید، صفحه شما باید مانند زیر باشد.
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="RDLC_Report.WebForm1" %> <%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <br /> <rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="560"> </rsweb:ReportViewer> </div> </form> </body> </html> </html>
10- پرکردن RDLC Report از بانک اطلاعاتی
در زیر کدهای مربوط به پر کردن RDLC Report از بانک قرار دارد. دستور اول نشان می دهد که کنترل ReportViewer که گزارش می دهد، از نوع Local Report می باشد.
سپس مسیر گزارش به ReportViewer داده می شود. پس از آنکه Customer DataSet با رکوردهای Customer Table پر می شود، به عنوان ReportSource برای گزارش قرار می گیرد.
فضای نام (NameSpace)
using System.Data; using System.Configuration; using System.Data.SqlClient; using Microsoft.Reporting.WebForms;
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ReportViewer1.ProcessingMode = ProcessingMode.Local; ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/Report.rdlc"); Customers dsCustomers = GetData("select top 20 * from customers"); ReportDataSource datasource = new ReportDataSource("Customers", dsCustomers.Tables[0]); ReportViewer1.LocalReport.DataSources.Clear(); ReportViewer1.LocalReport.DataSources.Add(datasource); } } private Customers GetData(string query) { string conString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; SqlCommand cmd = new SqlCommand(query); using (SqlConnection con = new SqlConnection(conString)) { using (SqlDataAdapter sda = new SqlDataAdapter()) { cmd.Connection = con; sda.SelectCommand = cmd; using (Customers dsCustomers = new Customers()) { sda.Fill(dsCustomers, "DataTable1"); return dsCustomers; } } } }
نکته: همانطور که اشاره شد، در این برنامه از بانک اطلاعاتی Microsoft’s Northwind Database استفاده کرده ایم. این بانک اطلاعاتی نمونه را می توانید از قست فایل های ضمیمه دانلود کنید.
- ASP.net
- 4k بازدید
- 0 تشکر