.:: CODE SNIPPET ::.

"Your time is limited, so don't waste it living someone else's life"

Tạo CrystalReport


Nhớ lại cách tạo một crystal report cái coi.

Có nhiều kiểu report như: tạo một danh sách dữ liệu của một bảng của cơ sở dữ liệu, hay là xuất ra một phiếu(hóa đơn thanh toán, phiếu thuê phòng,…). Cách chung để tạo ra report là.

  • Đưa dữ liệu mà chúng ta muốn xuất vào một table.
  • Tạo một crystal report có các trường như trong table(chỉ cần các trường mà mình muốn lấy thui là đủ).
  • tạo một crystal report viewer để show crystal report đã tạo lên.

Thực hiện, giả sử muốn tạo một phiếu thuê phòng cho khách sạn.

Đầu tiên là phải có một table, tạm gọi là tbl.  Dùng tbl để lưu dữ liệu thuê phòng. Chúng ta sẽ tạo một dataset.

Trong dataset này chúng ta sẽ tạo ra một table adapter mới tên là RentRoom

Như vậy đã tạo được table Adapter mới với các trường như trên. Tiếp theo là sẽ tạo ra một crystal report mới dựa trên adapter vừa tạo:

Tiếp theo, chúng ta có thể bỏ qua hai bước tiếp theo là chọn trường để Group by và trường để Filter. Sau đó click Finish luôn, mình có kết quả sau đây:

Ở đây, các trường ở trên là các textfield để hiển thị tên các trường ra khi kết quả xuất hoàn thành. Còn các trường tương ứng bên dưới là các vùng để truyền giá trị vào, vùng này sẽ lặp lại khi có một dòng dữ liệu mới trong tbl. Ở vùng trên, mình có thể đặt thêm vào đó tiêu đề của report này bằng cách dùng Text Object trong Toolbox.

Tiếp đó mình sẽ tạo ra một nút nhấn hiển thị và vùng xuất report là CrystalReprtViewer.

Bây giờ mình sẽ tạo ra sự kiện cho nút Button1:

private void button1_Click(object sender, EventArgs e)
        {
            DataTable table = null;
            try
            {
                string connectionString = @"Data Source=PRMHUITEDU-PCSQLEXPRESS;Initial Catalog=QuanLyKS;Integrated Security=True";
                SqlConnection connection = new SqlConnection(connectionString);
                connection.Open();
                string strSect = "select * from customer";
                SqlDataAdapter cmd = new SqlDataAdapter(strSect, connection);
                table= new DataTable();
                cmd.Fill(table);
            }
            catch (System.Exception ea)
            {

            }
            CustomerCrystalReport curCustCV = new CustomerCrystalReport();
            curCustCV.SetDataSource(tble);
            this.crystalReportViewer1.ReportSource = curCustCV;
        }

Như vậy, khi click button1 thì danh sách của các customer sẽ được thể hiện bên dưới.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: