Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Bài viết hướng dẫn chi tiết tạo được report đơn giản và nâng cao, Sử dụng thành thạo Control ReportViewer trong ứng dụng web ASP.NET MVC5

[toc /]

Trong ví dụ này, chúng ta sử dụng cơ sở dữ liệu (CDDL) BookManager như sau:

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Tạo thư mục DataBase, New Item Ado.net Entity Data Model, đặt trong Solution

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Tạo thư mục ReportViewer

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Nhấn chuột phải vào folder ReportViewer -> New Item, tạo mới Dataset, đặt tên là DataSet1

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Nhấn chuột phải vào vùng trống trong DataSet1/ Chọn Add -> TableAdapter

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Bước tiếp chọn tiếp Connection đã tạo ở Bước 1

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Viết query dữ liệu

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Nhấn chuột phải vào thư mục ReportViewer -> Add --> New item --> Chọn Report

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Kéo dữ liệu từ DataSet1 và thiết kế mẫu Report

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Tạo Web Forms User Control (ascx), để chứa Report

Chuột phải vào thư mục Shared của project/ Add -> New Item -> Chọn Web Forms User Control

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Đặt tên là ReportUserControl

Mở thanh công cụ ToolBox, kéo thả Control ReportViewer và ScriptManager vào giao diện

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Sau đó xử lý code behind của ReportUserConrol.cs như sau

public partial class WebUserControl1 : ViewUserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                List<Book> books = null;
                using (BookManagerEntities db = new BookManagerEntities())
                {
                    books = db.Books.OrderBy(s=>s.BookId).ToList();
                    ReportViewer1.LocalReport.DataSources.Clear();
                    ReportDataSource rdc = new ReportDataSource("DataSet1", books);
                    ReportViewer1.LocalReport.DataSources.Add(rdc);
                    double sumLineTotal = (double)db.Books.Sum(od => od.Price);
                    ReportParameter p4 = new ReportParameter("sumprice", sumLineTotal.ToString());
                    ReportViewer1.LocalReport.SetParameters(new ReportParameter[] { p4 });
                    ReportViewer1.LocalReport.Refresh();
                }
            }
        }
    }

Tạo Controller với tên là ReportController.cs, viết hàm index

public ActionResult Index()
        {
            return View();
        }

Giao diện trang View Index

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
 
<h2>Thống kê</h2>
 
@Html.Partial("ReportUserControl")

Hướng dẫn tạo Report trong ASP.NET MVC chi tiết

Nguồn: http://dinhanhvn.com/tao-report-thong-ke-trong-ung-dung-web-asp-net-mvc5-22

Bài viết liên quan