Tạo Report thống kê trong ứng dụng Web ASP.NET MVC5
Tạo Report thống kê trong ứng dụng Web ASP.NET MVC5
Mục tiêu
- Tạo được report đơn giản và nâng cao
- Sử dụng thành thạo Control ReportViewer
Hướng dẫn
- Tạo mới ứng dụng Web ASP.NET MVC5, sử dụng CSDL BookManager như sau:
Mục tiêu
- Tạo được report đơn giản và nâng cao
- Sử dụng thành thạo Control ReportViewer
Hướng dẫn
- Tạo mới ứng dụng Web ASP.NET MVC5, sử dụng CSDL BookManager như sau:
- Bước 1: Tạo thư mục DataBase, New Item Ado.net Entity Data Model, đặt trong Solution
- Bước 2: Tạo thư mục ReportViewer
o Nhấn chuột phải vào folder ReportViewer, New Item, tạo mới Dataset, đặt tên là DataSet1
Nhấn chuột phải vào vùng trống trong DataSet1/ Chọn Add -TableAdapter
Bước tiếp chọn tiếp Connection đã tạo ở Bước 1
Build Query string
Finish
o Nhấn chuột phải vào thư mục ReportViewer/ Add --> New item --> Chọn report
Kéo dữ liệu từ DataSet 1 và thiết kế mẫu Report
- Bước 3: Để sử dụng được Report, bạn sẽ dùng tạm một Web Forms User Control (ascx), để chứa Report
o Chuột phải vào thư mục Shared của project/ Add --> New Item/ Chọn Web Forms User Control
o Chuột phải vào thư mục Shared của project/ Add --> New Item/ Chọn Web Forms User Control
Đặt tên là ReportUserControl
Mở thanh công cụ ToolBox, kéo thả Control ReportViewer và ScriptManager vào giao diện
Sau đó xử lý code behind của ReportUserConrol.cs như sau
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| 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(); } } } } |
- Bước 4: Tạo Controller với tên là ReportController.cs, viết hàm index
1
2
3
4
| public ActionResult Index() { return View(); } |
- Giao diện trang View Index
1
2
3
4
5
6
7
8
| @{ ViewBag.Title = "Index" ; Layout = "~/Views/Shared/_Layout.cshtml" ; } <h2>Thống kê</h2> @Html.Partial( "ReportUserControl" ) |
Không có nhận xét nào:
Đăng nhận xét