VI.4.1. Lớp TranslateColumn
Chúng ta thiết kế lưới hiển thị các diễn viên sử dụng lớp TranslateColumn hiển thị dữ liệu cột Phai trên bảng
Khai báo cột TranslateColumn khi thiết kế:
Định cột Phai kiểu DataGridTextBoxColumn (giả sử được đặt tên là cotPhai) với MappingName là
"Phai"
Sau đĩ chuyển sang cửa sổ Code, vùng Windows Form Designer generated code, tìm và sửa
kiểu của cột này từ DataGridTextBoxColumn -> TranslateColumn
Viết thủ tục cấp nguồn hiển thị cho cotPhai và gọi trong sự kiện Form_Load
Ví dụ:
Private Sub Nguon_hien_thi()
' Tri là lớp đã xây dựng (xem giáo trình) cotPhai.Tap_hop.Add(New Tri(False, "Nữ"))
cotPhai.Tap_hop.Add(New Tri(True, "Nam")) End Sub
Thiết kế lưới bằng lệnh:
Ví dụ: Lưới cĩ tên LUOI_DIEN_VIEN
Private Sub Thiet_ke_luoi_dien_vien()
Dim kieu_the_hien As New DataGridTableStyle kieu_the_hien.MappingName = "DIEN_VIEN"
Dim cotHo_ten_DV As New DataGridTextBoxColumn ' các lệnh thiết kế cột ...
Dim cotPhai As New TranslateColumn cotPhai.HeaderText = "Phái"
cotPhai.MappingName = "Phai" cotPhai.NullText = ""
cotPhai.Width = 60
cotPhai.Tap_hop.Add(New Tri(False, "Nữ")) cotPhai.Tap_hop.Add(New Tri(True, "Nam")) Dim cotNgay_sinh As New DataGridTextBoxColumn ' các lệnh thiết kế cột ...
Dim cotDia_chi As New DataGridTextBoxColumn ' các lệnh thiết kế cột ...
kieu_the_hien.GridColumnStyles.AddRange(New DataGridColumnStyle() _
{cotHo_ten_DV, cotPhai, cotNgay_sinh, cotDia_chi})
LUOI_DIEN_VIEN.TableStyles.Add(kieu_the_hien) End Sub
Sau đĩ, gọi thực hiện Thiet_ke_luoi_dien_vien trong sự kiện Form_Load
VI.4.2. Lớp ComboBoxColumn
Với yêu cầu thiết kế màn hình như hình bên
Khai báo cột ComboBoxColumn khi thiết kế
Định cột Diễn viên kiểu DataGridTextBoxColumn (giả
sử được đặt tên là cotMDV) với MappingName là
"MDV"
Sau đĩ chuyển sang cửa sổ Code, vùng Windows
Form Designer generated code, tìm và sửa kiểu của cột này từ DataGridTextBoxColumn -> ComboBoxColumn
Trong sự kiện Form_Load, sau khi cĩ dữ liệu của DIEN_VIEN (qua biến bang_dien_vien của lớp XL_DIEN_VIEN), gọi phương thức Cap_nguon_hien_thi_liet_ke
Ví dụ:
bang_dien_vien =New XL_DIEN_VIEN
cotMDV.Cap_nguon_hien_thi_liet_ke(bang_dien_vien, "MDV", "Ho_ten_DV") Thiết kế lưới bằng lệnh
Ví dụ: Lưới cĩ tên LUOI_THAM_GIA
Private Sub Thiet_ke_luoi_tham_gia()
Dim kieu_the_hien As New DataGridTableStyle kieu_the_hien.MappingName = "THAM_GIA"
Dim cotMDV As New ComboBoxColumn cotMDV.HeaderText = "Diễn viên" cotMDV.MappingName = "MDV" cotMDV.NullText = "" cotMDV.Width = 190
cotMDV.Cap_nguon_hien_thi_liet_ke (bang_dien_vien, "MDV", "Ho_ten_DV") kieu_the_hien.GridColumnStyles.Add(cotMDV)
LUOI_THAM_GIA.TableStyles.Add(kieu_the_hien) End Sub
Sau đĩ, gọi thực hiện Thiet_ke_luoi_tham_gia trong sự kiện Form_Load
VI.4.3. Lớp ColoredColumn
Với yêu cầu thiết kế lưới hiển thị vở kịch như sau:
Tạo thêm cột số diễn viên tham gia vở kịch
Nếu số diễn viên tham gia vượt quá trị nào đĩ, sẽ đổi màu chữ, màu nền, hiệu ứng của font
chữ, canh lề nội dung: canh phải, tiêu đề: canh trái
Khai báo cột ColoredColumn khi thiết kế:
Định cột Số diễn viên tham gia kiểu DataGridTextBoxColumn (giả sử được đặt tên là cotSo_dv)
với MappingName là "So_dv"
Chuyển sang cửa sổ Code, vùng Windows Form Designer generated code, tìm và sửa kiểu của cột này từ DataGridTextBoxColumn -> ColoredColumn. Sau đĩ định lại thuộc tính
Canh_le_noi_dung trên cửa sổ Properties là Far
Xử lý sự kiện Phat_sinh_bien_co_ve_o như sau:
Ví dụ:
Private Sub cotSo_dv_Phat_sinh_bien_co_ve_o (ByRef e As _
If CInt(e.Gia_tri) > 3 Then
e.Font_Chu = New Font(LUOI_VO_KICH.Font, FontStyle.Italic) e.Mau_nen = Brushes.Cyan
e.Mau_chu = Brushes.Blue End If
Bài 9
BÁO BIỂU CRYSTAL REPORT
Tĩm tắt
Lý thuyết 6 tiết - Thực hành 10 tiết
Mục tiêu Các mục chính Bài tập
Bài học này giúp cho học viên cách thiết kế báo biểu theo mơ hình Pul, Push trong VB.Net.
1. Giới thiệu CrysTal Reportl 2. Tạo báo biểu mơ hình Pull, Push
5.15, 5.16, 5.18, 5.19