Màn hình Bảng tham số

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 80 - 85)

Chương 4 Xây dựng các màn hình danh mục

4.7 Màn hình Bảng tham số

Tương tự chúng ta thiết kế màn hình bảng tham số như sau

STT Tên Control Loại Tên hàm xử lý

1 TSList ListView

2 txtTenThamSo TextBox

3 btnThem Button

4 btnXoa Button

5 btnCapNhat Button btnCapNhat_Click

6 btnSoanLai Button btnSoanLai_Click

Do tham số không cho phép thêm hay xóa, do đó chúng ta sẽ không tác động lên 2 nút nhấn thêm và xóa, đồng thời điều chỉnh trạng thái các nút này sang “disable” bằng cách chọn thuộc tính “Enabled” = False bên Properties dialog của VS.NET như sau:

Chương 4 - Xây dựng các màn hình danh mục

82 4.7.1 Lớp ThamSo_Form

Trước hết, khi form được load lên ta cần hiển thị các thông tin về các tham số đã có trong cơ sở dữ liệu lên trên listview. Do đó, trong hàm ThamSo_Form_Load ta sẽ gọi hàm

HienThiDanhSachThamSo như sau:

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

HienThiDanhSachThamSo() End Sub

Với hàm HienthiDanhSachThamSo được cài đặt như sau:

Private Sub HienThiDanhSachThamSo() TSList.Items.Clear()

Dim i As Integer Dim str As String Dim dt As DataTable

dt = ts.LayDanhSachThamSo 'Hiển thị danh sách bophan For i = 0 To dt.Rows.Count - 1 Dim lvi As ListViewItem

lvi = TSList.Items.Add((i + 1).ToString) str = dt.Rows(i)("TenThamSo")

lvi.SubItems.Add(str)

str = dt.Rows(i)("GiaTri").ToString lvi.SubItems.Add(str)

Next End Sub

Mục tiêu của hàm này là lấy thông tin các tham số được trả ra từ phương thức

LayDanhSachThamSo rồi đưa lên trên listview. Còn phương thức LayDanhSachThamSo là một phương thức thuộc lớp ThamSo, sẽ được đề cập trong phần sau.

Tiếp theo, tương tự như trong màn hình bằng cấp, chúng ta phát sinh các sự kiện click cho các nút nhấn Cập nhậtSoạn lại và tiến hành cài đặt như sau:

Private Sub btnCapNhat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCapNhat.Click

If TSList.SelectedIndices.Count > 0 Then If KiemTraNhap() Then

ts.CapNhatThamSo(TSList.SelectedIndices.Item(0), txtGiaTri.Text)

HienThiDanhSachThamSo()

MessageBox.Show("Gía trị tham số đã được cập nhật thành công", "Thông báo", MessageBoxButtons.OK,

MessageBoxIcon.Information) txtGiaTri.Text = ""

End If Else

MessageBox.Show("Bạn phải chọn 1 dòng trong danh sách trước",

"Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End If

End Sub

Private Sub btSoanLai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btSoanLai.Click

txtGiaTri.Text = ""

End Sub

Ở đây, chúng ta có một số ràng buộc trên tham số nhập vào. Do đó chúng ta cần viết hàm kiểm tra xem dữ liệu tham số do người dùng nhập vào có hợp lệ hay không

Private Function KiemTraNhap() As Boolean If txtGiaTri.Text = "" Then

MessageBox.Show("Bạn chưa nhập giá trị", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning)

Return False End If

If Not IsNumeric(txtGiaTri.Text) Then

MessageBox.Show("Giá trị của tham số phải là số", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning)

Return False End If

Return True End Function

Và sau đó chúng ta phát sinh sự kiện SelectedTextChanged của control TSList tương tự như màn hình bằng cấp ở trên, và cài đặt như sau:

Private Sub TSList_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TSList.SelectedIndexChanged

If TSList.SelectedIndices.Count > 0 Then txtGiaTri.Text =

TSList.Items(TSList.SelectedIndices.Item(0)).SubItems(2).Text End If

End Sub

4.7.2 Lớp LyDoThanhLy

Lớp LyDoThanhLy Thuộc tính

Tên Lớp Ý nghĩa

Db Database Đảm nhiệm việc giao tiếp với

Chương 4 - Xây dựng các màn hình danh mục

84 LayDanhSachThamSo Lấy danh sách các tham số từ cơ sỏ dữ liệu

CapNhatThamSo Cập nhật lại thông tin của 1 tham số 4.7.2.1 Hàm tạo

Mã nguồn:

Public Sub New()

db = New Database(MainForm.SvrName, MainForm.DbName, True, "", "")

‘SvrName và DbName là 2 biến tĩnh (shared) của lớp MainForm) End Sub

4.7.2.2 LayDanhSachThamSo Kết quả trả về:

Kiểu / Lớp Ý nghĩa

DataTable Danh sách các tham số có trong CSDL Mã nguồn:

Public Function LayDanhSachThamSo() As DataTable

ts_dt = db.Execute("Select * from THAMSO order by TenThamSo") Return ts_dt

End Function

4.7.2.3 CapNhatThamSo Tham số:

Tên Kiểu / Lớp Ý nghĩa

Index Integer Số thứ tự của tham số cần xóa. Lưu ý rng thứ tự các lý do được đưa lên màn hình hiển thị phải giống với thứ tự chúng được lấy ra bằng câu lệnh Select.

Ten String Tên tham số cần cập nhật.

Mã nguồn:

Public Sub CapNhatThamSo(ByVal index As Integer, ByVal giatri As String) Dim str As String

str = "Update THAMSO set GiaTri = " + giatri + " where TenThamSo = '" + ts_dt.Rows(index)("TenThamSo").ToString + "'"

db.ExecuteNonQuery(str) 'update data table LayDanhSachTHamso() End Sub

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 80 - 85)

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

(178 trang)