
Nguyên bản được gửi bởi
mvmanh
Mình thử dùng code rồi bạn à, tuy rằng nó chạy được trên máy tính khác nhưng lại phát sinh một vấn đề khác mà mình đã nêu ở đây
http://diendan.congdongcviet.com/sho...d.php?t=161471
Cụ thề của vấn đề này là VD mình có 4 bảng, TRường, Ngành, DỊaDiem (Địa điểm thi) và Sinh viên
Nếu dùng code thì nó chỉ report được đơn lẻ từng bảng chứ không kết hợp dữ liệu được.
Cụ thể là ở report trường mình muốn thêm cột tổng số ngành, tổng số đĩa điểm tổng số thí sinh.
Chạy code trên SQl thì đã đúng rồi nhưng lúc chạy app thì nó không hiện những phần đó,
Nếu bạn biết khắc phục xin giúp mình với.



---
Tham khảo nhé
Giả sử mình thiết kế cái Report gồm có 3 cột: Tên người dùng, Mật khẩu, Tên loại tài khoản
1 - Trong Report bạn viết 1 hàm BindData() như sau
Code:
public void BindData()
{
xrTableCell1.DataBindings.Add("Text", DataSource, "TenNguoiDung");
xrTableCell2.DataBindings.Add("Text", DataSource, "MatKhau");
xrTableCell3.DataBindings.Add("Text", DataSource, "TenLoaiTaiKhoan");
}
TenNguoiDung, MatKhau, TenLoaiTaiKhoan là tên các cột trong bảng nào đó của CSDL mà ta muốn lấy để hiển thị lên Report
2 -Trong Form chứa Report bạn viết
Code:
private void XtraFormIn_Load(object sender, EventArgs e)
{
string sql = "select NguoiDung.*,PhanQuyen.TenLoaiTaiKhoan from NguoiDung, PhanQuyen where NguoiDung.MaLoaiTaiKhoan=PhanQuyen.MaLoaiTaiKhoan"; //truy van lay du lieu cho report
XtraReport1 rpt = new XtraReport1();
rpt.DataSource = <... thục hiện truy vấn trên để lấy dữ liệu bỏ vào đây nhé...>
rpt.BindData();
printControl1.PrintingSystem = rpt.PrintingSystem;
rpt.CreateDocument();
}
Viết trong sự kiện Load của form nhé
Vậy là OK