NEWS

Xuất report từ GridView

Xuất report từ GridView
Đăng bởi: TONA Cody - Lượt xem: 23249 06:20:40, 09/09/2016C#   In bài viết

Bài viết này mình xin hướng dẫn cách đổ dữ liệu vào datagrid view, hiển thị trên lưới, sau đó là xuất ra report. Mình sẽ ví dụ về báo cáo một danh sách nhân viên.

Đầu tiên, chuẩn bị data để test.
 

create database DemoReportDGV
go
use DemoReportDGV
go
create table tblNhanVien
(
	id int identity primary key ,
	manv char(5),
	hoten nvarchar(50),
	ngaysinh date,
	chucvu	nvarchar(50),
	gioitinh bit,
	quequan nvarchar(200),
	ngayvaolam date
)
go

Chèn dữ liệu mẫu vào:
 

insert into tblNhanVien(manv,hoten,ngaysinh,chucvu,gioitinh,quequan,ngayvaolam) values ('NV001','Chu Văn Quầy','02/01/1972','Trưởng Phòng',1,'Hà Nam','03/04/2010')
Go
insert into tblNhanVien(manv,hoten,ngaysinh,chucvu,gioitinh,quequan,ngayvaolam) values ('NV002','Trần Như','06/05/1982','Phó phòng',1,'Quảng Bọ','01/06/2011')
Go
insert into tblNhanVien(manv,hoten,ngaysinh,chucvu,gioitinh,quequan,ngayvaolam) values ('NV003','Con Nhộng','06/05/1982','Nhân Viên',1,'Hà Tĩnh','09/04/2011')
Go
insert into tblNhanVien(manv,hoten,ngaysinh,chucvu,gioitinh,quequan,ngayvaolam) values ('NV004','Lê Phán Quyết','06/09/1989','Nhân Viên',0,'Huế','15/04/2015')
Go
insert into tblNhanVien(manv,hoten,ngaysinh,chucvu,gioitinh,quequan,ngayvaolam) values ('NV005','Phong Lưu','07/10/1991','Nhân viên',1,'Đà Nẵng','30/04/2012')
Go
insert into tblNhanVien(manv,hoten,ngaysinh,chucvu,gioitinh,quequan,ngayvaolam) values ('NV006','Nguyễn Ngỗ Ngáo','23/12/1986','Nhân viên',0,'Đồng Nai','01/05/2014')
Go
insert into tblNhanVien(manv,hoten,ngaysinh,chucvu,gioitinh,quequan,ngayvaolam) values ('NV007','Võ Ngông Cuồng','22/04/1990','Nhân viên',0,'Đồng Nai','19/04/2016')
Go
insert into tblNhanVien(manv,hoten,ngaysinh,chucvu,gioitinh,quequan,ngayvaolam) values ('NV008','Chu Văn Quầy','02/01/1972','Trưởng Phòng IT',1,'Hà Nam','03/04/2010')
Go

Như vậy là hoàn tất phần dữ liệu. Tiếp theo, ta cần 3 form để hoàn tất bài này:
1. Form chứa GridView:

Tiến hánh viết hàm để lấy dữ liệu cho grid trong form.Load:
 

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim ds As New DataSet
            ds = _load_data("select manv,hoten,ngaysinh,chucvu, case gioitinh when 1 then 'Nam' else N'Nữ' end as gioitinh,quequan,ngayvaolam from tblNhanVien")
            'đưa source vao grid
            GridControl1.DataSource = ds.Tables(0)
        End Sub

Hàm cho nút In:
 

 Private Sub btnXuatReport_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles btnXuatReport.ItemClick
            dsreport = _load_data("select manv,hoten,ngaysinh,chucvu, case gioitinh when 1 then 'Nam' else 'Nữ' end as gioitinh,quequan,ngayvaolam from tblNhanVien")
            Dim f As New report
            f.Show()
        End Sub

2. Form chứa Report: Nó là một DocumentView
DocumentView

Hàm để gọi report:
 

Private Sub report_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim rpt As New reportView
        'đỗ dataser vào report
        rpt.DataSource = dsreport
        rpt.BindData()
        'Hiện thì report lên ocumentViewer
        DocumentViewer1.PrintingSystem = rpt.PrintingSystem
        rpt.CreateDocument()
    End Sub

3. Cuối cùng là cái Báo cáo:
XtraReport

Hàm BindData vào report:
 

 Public Sub BindData()
        lblchucvu.DataBindings.Add("Text", DataSource, "chucvu")
        lblgioitinh.DataBindings.Add("Text", DataSource, "gioitinh")
        lblhoten.DataBindings.Add("Text", DataSource, "hoten")
        lblmanv.DataBindings.Add("Text", DataSource, "manv")
        lblngaysinh.DataBindings.Add("Text", DataSource, "ngaysinh")

        lblngayvaolam.DataBindings.Add("Text", DataSource, "ngayvaolam")
        lblquequan.DataBindings.Add("Text", DataSource, "quequan")
    End Sub

Xong, Nhấn F5 và xem kết quả nào. 

Video hướng dẫn cụ thể:
 

Link source:
https://drive.google.com/file/d/0ByzaKzy1in4weElpWGxGRmY5bXc/view?usp=sharing

Mọi ý kiến đóng góp vui lòng để lại phần comment. 

Thân ái !

THÔNG TIN TÁC GIẢ

BÀI VIẾT LIÊN QUAN

Xuất report từ GridView
Đăng bởi: TONA Cody - Lượt xem: 23249 06:20:40, 09/09/2016C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

Đọc tiếp
.