Màn hình một nhiều

Một phần của tài liệu hướng dẫn sử dụng visual basic (Trang 157 - 160)

Màn hình này hiển thị dữ liệu của bảng một và dữ liệu của bảng nhiều ứng với dịng hiện hành trên bảng một. Dữ liệu cho màn hình gồm bảng một và bảng nhiều.

Cĩ thể cĩ các dạng :

III.1. Màn hình mt-nhiu hai trang

Màn hình gồm các điều khiển cho bảng một, lưới cho bảng một và lưới cho bảng nhiều. Các điều khiển bảng một trên một tab của TabControl và tab cịn lại chứa lưới bảng một. Lưới bảng nhiều được đặt trên Form.

Bảng dữ liệu phía nhiều phải được khai báo và cĩ thể:

ƒ Được đọc theo trị cột khĩa bảng phía một khi bảng phía một thay đổi dịng làm việc và xuất ra lưới

ƒ Hoặc được lọc theo trị cột khĩa bảng phía một khi bảng phía một thay đổi dịng làm việc và xuất ra lưới (nếu đã được đọc tồn bộ từđầu)

Ví dụ: Xử lý bảng nhiều được đọc theo khĩa bảng một (khi số liệu bảng nhiều quá lớn) Private <bang_du_lieu> As <XL_TEN_BANG>

Private <bang_du_lieu_phia_nhieu> As <XL_TEN_BANG_NHIEU> Private Danh_sach As BindingManagerBase

Private Sub MH_Load(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles MyBase.Load ....

Call Danh_sach_CurrentChanged(sender, e) End Sub

Private Sub Xuat_luoi_<ten_bang_nhieu>()

LUOI_<TEN_BANG_NHIEU>.DataSource = <bang_du_lieu_phia_nhieu> End Sub

Private Sub danh_sach_CurrentChanged(ByVal sender As Object, ByVal e As _

System.EventArgs) Handles danh_sach.CurrentChanged ...

Dim khoa As Integer = 0

If Not Them_moi AndAlso Danh_sach.Position >= 0 Then ...

khoa = Danh_sach.Current(<Khĩa>) End If

<bang_du_lieu_phia_nhieu> As New <XL_TEN_BANG_NHIEU> _

("điều kiện lọc theo khĩa bảng một") Xuat_luoi_<ten_bang_nhieu>()

End Sub

Ví dụ: Xử lý bảng nhiều được đọc hết và được lọc theo khĩa bảng một khi dịng hiện hành bảng một thay đổi (khi số liệu bảng nhiều khơng lớn)

Private <bang_du_lieu_phia_nhieu> As <XL_TEN_BANG_NHIEU> Private Sub MH_Load(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles MyBase.Load ....

<bang_du_lieu_phia_nhieu> As New <XL_TEN_BANG_NHIEU>() Xuat_luoi_<ten_bang_nhieu>()

Call Danh_sach_CurrentChanged(sender, e) End Sub

Private Sub Xuat_luoi_<ten_bang_nhieu>()

LUOI_<TEN_BANG_NHIEU>.DataSource = <bang_du_lieu_phia_nhieu> End Sub

(adsbygoogle = window.adsbygoogle || []).push({});

System.EventArgs) Handles danh_sach.CurrentChanged ... Dim khoa As Integer = 0

If Not Them_moi AndAlso Danh_sach.Position >=0 Then ...

khoa As Integer = Danh_sach.Current(<Khĩa>) End If

<bang_du_lieu_phia_nhieu>.Loc_du_lieu("điều kiện lọc theo khĩa bảng một") End Sub

III.2. Màn hình mt-nhiu ba trang

Màn hình cĩ TabControl ba tab : một tab chứa các điều khiển bảng một, một tab chứa lưới bảng một và một tab chứa lưới bảng nhiều. Cách thức xử lý cũng như trên.

Một phần của tài liệu hướng dẫn sử dụng visual basic (Trang 157 - 160)