Màn hình chi tiết mượn sách

Một phần của tài liệu Hướng dẫn cài đặt chương trình quản lý thư viện (Trang 123 - 127)

Chương 5 Xây dựng các màn hình quản lý

5.5 Màn hình chi tiết mượn sách

Xây dựng màn hình theo hình sau:

Chương 5 - Xây dựng các màn hình quản lý

124 STT Tên Control Loại Tiêu đề (Caption)

1 lblDocGia Label “Độc giả”

2 lblTenDocGia Label Họ tên độc giả

3 lblNgayMuon Label “Ngày mượn”

4 lblNgay Label Giá trị ngày mượn

5 group1 GroupBox

6 lblSachHienCo Label “Sách hiện có”

7 lblSach Label Giá trị số sách hiện có

8 SHCList ListView

9 btnChon Button “Chọn”

10 btnBoChon Button “Bỏ chọn”

11 lblSachMuon Label “Sách mượn”

12 lblSachM Label Giá trị số sách mươnợn

13 SMList ListView

Màn hình chi tiết mượn sách được cài đặt thành 2 lớp: lớp ChiTietPhieuMuon_Form là lớp giao diện và lớp PhieuMuonSach là lớp xử lý chính. Trong đó, lớp PhieuMuonSach đã trình bày ở trên.

5.5.1 ChiTietPhieuMuon_Form

Bên cạnh các controls mô tả ở trên, lớp ChiTietPhieuMuon_Form còn các biến thành phần và phương thức như sau:

Lớp ChiTietPhieuMuon_Form Thuộc tính

Tên Lớp Ý nghĩa

pm PhieuMuonSch Biến đảm nhân việc xử lý

dữ liệu Các hàm xử lý biến cố

Tên Điều kiện phát sinh Ý nghĩa

ChiTietPhieuMuon_Form_Load Form Load Hiển thị danh sách các phiếu mượn và các quyển sách có thể cho mượn btnChon_Click Nút btnChon được click Đưa một quyển sách vào

phiếu mượn

btnBoChon_Click Nút btnBoChon được click Bỏ một quyển sách ra khỏi phiếu mượn

SSList_DoubleClick Item SSList được double click

Đưa một quyển sách vào phiếu mượn

SMList_DoubleClick Item SMList được double click

Bỏ một quyển sách ra khỏi phiếu mượn

Phương thức

Tên Ý nghĩa

HienThiDanhSachSachSanSang Hiển thị danh sách sách có thể cho mượn lên màn hình HienThiDanhSachSachMuon Hiển thị danh sách sách được mượn ứng với một phiếu

mượn (chọn trước) lên màn hình

ThemSachMuon Thêm một quyển sách vào một phiếu mưọn XoaSachMuon Bỏ một quyển sách ra khỏi một phiếu mượn

Khi màn hình được load, nó sẽ hiển thị thông tin về phiếu mượn đang xét, danh sách các sách đang được mượn bởi phiếu này cùng với danh sách các sách đang sẵn sàng cho mượn của thư viện. Chúng ta viết hàm xử lý cho sự kiện form load như sau:

Private Sub ChiTietPhieuMuon_Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

HienThiDanhSachSachSanSang() HienThiDanhSachSachMuon() End Sub

Trong đó, các hàm hiển thị được cài đặt như sau:

Private Sub HienThiDanhSachSachSanSang()

Chương 5 - Xây dựng các màn hình quản lý

126

str = s_dt.Rows(i)("MaSach") lvi.SubItems.Add(str)

str = s_dt.Rows(i)("TenSach") lvi.SubItems.Add(str)

str = s_dt.Rows(i)("TenTheLoai") lvi.SubItems.Add(str)

str = s_dt.Rows(i)("TacGia") lvi.SubItems.Add(str)

Next

txtNumSS.Text = s_dt.Rows.Count.ToString End Sub

Private Sub HienThiDanhSachSachMuon() SMList.Items.Clear()

Dim sm_dt As DataTable = pm.LayDanhSachSachMuon(MaPhieuMuon) Dim i As Integer

Dim str As String

Dim lvi As ListViewItem

For i = 0 To sm_dt.Rows.Count - 1

'Đưa thông tin chi tiết (thể loại, tác giả ...) lên list view 'và tên sách lên SMList

lvi = SMList.Items.Add((i + 1).ToString) str = sm_dt.Rows(i)("MaSach")

lvi.SubItems.Add(str)

str = sm_dt.Rows(i)("TenSach") lvi.SubItems.Add(str)

str = sm_dt.Rows(i)("TenTheLoai") lvi.SubItems.Add(str)

str = sm_dt.Rows(i)("TacGia") lvi.SubItems.Add(str)

Next

txtNumMuon.Text = sm_dt.Rows.Count.ToString End Sub

Việc lấy dữ liệu được ủy nhiệm cho biến thành phần pm thuộc lớp PhieuMuonSach chứ không thực hiện trực tiếp ở lớp giao diện này. Các hàm hiển thị ở đây chỉ đơn giản là lấy kết quả trả về từ các phương thức của pm và hiển thị lên các controls tương ứng.

Tiếp đến, ta cài đặt chức năng thêm sách vào danh sách mượn: cài đặt hàm xử lý cho sự kiện click của nút btnChon:

Private Sub btnChon_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnChon.Click

ThemSachMuon() End Sub

Hàm ThemSachMuon được cài đặt như sau:

Private Sub ThemSachMuon()

If (SSList.SelectedIndices.Count > 0) Then

'Kiểm tra xem người dùng này đã mược đủ 5 quyển chưa Dim lvi As ListViewItem = SSList.SelectedItems(0) 'Cập nhật lại CSDL

pm.ThemSachMuon(MaPhieuMuon.ToString, lvi.SubItems(1).Text) 'Refresh

HienThiDanhSachSachSanSang() HienThiDanhSachSachMuon()

End If End Sub

Tương tự, ta cài đặt chức năng bỏ một quyển sách ra khỏi danh sách sách mượn:

Private Sub btnBoChon_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBoChon.Click

XoaSachMuon() End Sub

Private Sub XoaSachMuon()

If SMList.SelectedIndices.Count > 0 Then

Dim lvi As ListViewItem = SMList.SelectedItems(0) 'Cập nhật CSDL

pm.XoaSachMuon(MaPhieuMuon.ToString, lvi.SubItems(1).Text) 'Refresh

HienThiDanhSachSachSanSang() HienThiDanhSachSachMuon()

End If End Sub

Để tăng tính tiền dụng cho chương trình, thay vì người dùng cứ phải chọn một quyển sách rồi nhấn nút chọn hay bỏ chọn để có thể đưa sách vào danh sách mượn hày loại khỏi danh sách mượn, chúng ta sẽ cài đặt thêm sự kiện double click trên list: double click trên list sách sẵn sàng sẽ đưa sách vào danh sách mượn, double click trên list sách mượn sẽ loại sách ra khỏi danh sách mượn:

Private Sub SSList_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles SSList.DoubleClick

ThemSachMuon() End Sub

Private Sub SMList_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles SMList.DoubleClick

XoaSachMuon() End Sub

Đến đây chúng ta đã cài đặt xong màn hình chi tiết mượn sách.

Một phần của tài liệu Hướng dẫn cài đặt chương trình quản lý thư viện (Trang 123 - 127)

Tải bản đầy đủ (PDF)

(178 trang)