You are on page 1of 2

Hướng dẫn tạo ứng dụng Báo cáo sử dụng Report Viewer

Bước 1: Tạo Project với Window Form, form frmBaoCao

Bước 2: Vào Nuget > ReportViewerControl và Install

Bước 3: Mở Form frmBaoCao, rồi tìm tới control ReportViewer trên ToolBox.
Nếu không nhìn thấy ToolBox, có thể vào menu View > ToolBox. Rồi kéo control
ReportViewer vào frmBaoCao

Bước 4: Thiết kế Form báo cáo

Bước 5: Tạo file Report với tên rptKhachHang.rdlc

Nếu không có file Report thì cài đặt để tích hợp vào trong Visual Studio 2022
https://marketplace.visualstudio.com/items?itemName=ProBITools.MicrosoftRdlc
ReportDesignerforVisualStudio2022

Bước 6: Sử dụng

• Kích chuột phải vào tên Project ở cửa sổ Solution Explorer > Add > New
Item … trong cửa sổ hiển ra bên trái chọn Reporting, sau đó bên phải chọn
Report hoặc Report Wizard, đặt tên cho báo cáo ở phần Name =
rptKhachHang.rdlc
• Kích đúp vào rptKhachHang.rdlc trong Solution Explorer. Bên góc bên trái
có một cửa sổ Report Data, kích vào New > DataSet… để chọn dữ liệu cho
thiết kế báo cáo.
• Các cửa sổ hiển thị lên, chọn nguồn dữ liệu, các bảng sẽ dùng cho thiết kế báo
cáo …
• Sau khi chọn song nguồn dữ liêu, trong trường hợp này ta chỉ chọn bảng
tblKhachHang
• Kích chuột phải vào vùng cửa sổ làm việc của rptKhachHang.rdlc, rồi chọn
các đối tượng hiển thị trong phần thân báo cáo như Table, Matrix, Chart,
Image … Ngoài ra cũng có thể thêm phần Page Header và Page Footer để tạo
tiêu đề và cho báo cáo
• Bên cửa sổ trái của Report Data kéo các cột vào phần Data và sau đó có thể
chỉnh sửa lại phần Header cho có dấu tiếng việt.
• Sau khi hoàn thành việc thiết kế báo cáo, bạn chọn vào file rptKhachHang.rdlc
trong cửa sổ Solution Explorer, rồi chọn vào cửa sổ Properties và thay đổi
thuộc tính Copy to Output Directory = Copy if newer

Bước 7: Code C#
//Khai báo câu lệnh SQL
String sql = "Select * from Employees";
SqlConnection con = new SqlConnection();
//Truyền vào chuỗi kết nối tới cơ sở dữ liệu
//Gọi Application.StartupPath để lấy đường dẫn tới thư mục chứa file
chạy chương trình
con.ConnectionString =
@"Server=QuangLe;Database=AptechArenadb;TrustServerCertificate=true;Trusted_Connecti
on=SSPI;Encrypt=false;";
SqlDataAdapter adp = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
adp.Fill(ds);
//Khai báo chế độ xử lý báo cáo, trong trường hợp này lấy báo cáo ở
local
rpvBaoCao.ProcessingMode =
Microsoft.Reporting.WinForms.ProcessingMode.Local;
//Đường dẫn báo cáo
rpvBaoCao.LocalReport.ReportPath = "rptSanPham.rdlc";
//Nếu có dữ liệu
if (ds.Tables[0].Rows.Count > 0)
{
//Tạo nguồn dữ liệu cho báo cáo
ReportDataSource rds = new ReportDataSource();
rds.Name = "tblKhachHang";
rds.Value = ds.Tables[0];
//Xóa dữ liệu của báo cáo cũ trong trường hợp người dùng thực hiện
câu truy vấn khác
rpvBaoCao.LocalReport.DataSources.Clear();
//Add dữ liệu vào báo cáo
rpvBaoCao.LocalReport.DataSources.Add(rds);
//Refresh lại báo cáo
rpvBaoCao.RefreshReport();
}

You might also like