Bên lề: In dữ liệu từ DataGrid ra máy in trong C#
(nguồn trên trang
www.3c.com.vn)Hỏi: Trong chương trình C#, xin hỏi làm sao để in dữ liệu từ DataGrid ra máy in?
Đáp:
Bạn có thể dùng đối tượng PrintDocument để in bất kỳ thông tin gì ra máy in. Thường thì bạn chỉ cần gọi tác vụ Print() của đối tượng PrintDocument để khởi động quá trình in thông tin và viết hàm xử lý sự kiện PrintPage(), hàm này sẽ chứa đoạn code miêu tả cụ thể những thông tin cần in trong trang. Thí dụ đơn giản sau đây cho phép in toàn bộ ảnh bitmap của đối tượng DataGrid trong Form (tên là dataGrid1) ra máy in. Giả sử Form ứng dụng cũng đã chứa đối tượng
PrintDocument tên là printDocument1:
//hàm miêu tả việc in từng trang in
private void printDocument1_PrintPage(System.Object sender, System.Drawing.Printing.PrintPageEventArgs e){
PaintEventArgs myPaintArgs = new PaintEventArgs(e.Graphics, new Rectangle(new Point(0, 0), this.Size));
//in ảnh bitmap của dataGrid1 ra máy in
this.InvokePaint(dataGrid1, myPaintArgs);
}
Sau khi đã đặc tả hàm PrintPage(), nơi nào trong ứng dụng cần in dataGrid1, bạn chỉ cần viết 1 lệnh sau:
printDocument1.Print();