Màn hình chi tiết thanh lý 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 169 - 173)

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

5.11 Màn hình chi tiết thanh lý sách

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

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

170 3 lblNguoiThanhLy Label “Người thanh lý”

4 lblNguoi Label Họ tên người thanh lý

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 lblSachThanhLy Label “Sách thanh lý”

12 lblSachTL Label Giá trị số sách thanh lý

13 STLList ListView

Màn hình thanh lý sách được cài đặt thành 2 lớp: lớp ChiTietPhieuThanhLy_Form là lớp giao diện và lớp PhieuThanhLy là lớp xử lý chính. Trong đó lớp PhieuThanhLy đã trình bày ở trên.

5.11.1 ChiTietPhieuThanhLy_Form

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

Lớp ChiTietPhieuThanhLy_Form Thuộc tính

Tên Lớp Ý nghĩa

ptl PhieuThanhLy Biến thành phần đảm nhận

việc xử lý thông tin

MaPhieuThanhLy Integer Mã phiếu thanh lý hiện

hành Các hàm xử lý biến cố

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

ChiTietPhieuThanhLy_Form_Load Form load Hiển thị danh sách sách hiện có và sách được thanh lý bởi phiếu hiện hành

btnChon_Click Khi người dùng click nút btnChon

Đưa một quyển sách vào danh sách thanh lý btnBoChon_Click Khi người dùng click nút

btnBoChon

Đưa một quyển sách ra khỏi danh sách thanh lý SachList_DoubleClick Khi người dùng double

click SachList

Đưa một quyển sách vào danh sách thanh lý TLList_DoubleClick khi người dùng double

click TLList

Đưa một quyển sách ra khỏi danh sách thanh lý Phương thức

Tên Ý nghĩa

HienThiDanhSachSach Hiển thị danh sách sách hiện có lên màn hình

HienThiDanhSachSachThanhLy Hiển thị danh sách sách thanh lý lên màn hình ThemSachThanhLy Đưa một quyển sách vào danh sách thanh lý XoaSachThanhLy Đưa một quyển sách ra khỏi danh sách thanh lý

Khi màn hình vứa được load, ứng dụng phải hiển thị cho người dùng thông tin của phiếu thanh lý (ngày thanh lý, người thanh lý) đang xét, đồng thời hiển thị danh sách sách đang có của thư viện và những sách đã được thanh lý bởi phiếu thanh lý này. Ta viết hàm xử lý cho sự kiện form load:

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

HienThiDanhSachSach()

HienThiDanhSachSachThanhLy() End Sub

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

Private Sub HienThiDanhSachSach() SachList.Items.Clear()

Dim s_dt As DataTable = ptl.LayDanhSachSach Dim i As Integer

Dim str As String

Dim lvi As ListViewItem

For i = 0 To s_dt.Rows.Count - 1 str = s_dt.Rows(i)("TenSach")

lvi = SachList.Items.Add((i + 1).ToString) 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

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

Private Sub HienThiDanhSachSachThanhLy() TLList.Items.Clear()

Dim sm_dt As DataTable = ptl.LayDanhSachSachThanhLy(MaPhieuThanhLy) 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 = TLList.Items.Add((i + 1).ToString)

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

172

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

Tất cả xử lý đều được ủy nhiệm cho biến thành phần ptl thuộc lớp PhieuThanhLy, các phương thức trong lớp giao diện này chỉ đơn giản là lấy kết quả trả về hiển thị lên màn hình. Tiếp theo, chúng ta sẽ cài đặt chức năng cho màn hình này.

Đầu tiên là chức năng thêm 1 quyển sách vào danh sách thanh lý, viết hàm xử lý cho sự kiện click của nút btnChon như sau:

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

ThemSachThanhLy() End Sub

Trong đó, hàm ThemSachThanhLy:

Private Sub ThemSachThanhLy()

If (SachList.SelectedIndices.Count > 0) Then

Dim lvi As ListViewItem = SachList.SelectedItems(0) Dim f As New ChonLyDo_Form(ptl)

If f.ShowDialog = DialogResult.OK Then 'Cập nhật lại CSDL

ptl.ThemSachThanhLy(MaPhieuThanhLy.ToString, lvi.SubItems(1).Text, f.cbLyDo.SelectedIndex) 'Refresh

HienThiDanhSachSach()

HienThiDanhSachSachThanhLy() End If

End If End Sub

Tương tự, ta cài đặt chức năng xóa sách ra khỏi danh sách thanh lý bằng cách viết hàm xử lý cho sự kiện click của nút btnBoChon:

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

XoaSachThanhLy() End Sub

Để tăng tính tiện dụng cho chương trình, thay vì phải chọn sách và nhấn nút Chọn hay Bỏ Chọn, ta cho phép người dùng double click lên sách trong danh sách sách đang có để đưa nó và danh sách sách thanh lý, và double click lên danh sách sách thanh lý sẽ loại sách này ra khỏi danh sách thanh lý. Để vậy, ta viết hàm xử lý cho sự kiện double click của 2 list view.

Private Sub SachList_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles SachList.DoubleClick

ThemSachThanhLy() End Sub

Private Sub TLList_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TLList.DoubleClick

XoaSachThanhLy() End Sub

Đến đây chúng ta đã cài đặt xong màn hình chi tiết thanh lý 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 169 - 173)

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

(178 trang)