Thực hành lập trình CSDL với VB.net - 5

Hình 16 Form danh sách mặt hàng 1 Phân tích yêu cầu Theo mẫu trên thì phải có 1


Hình 16. Form danh sách mặt hàng

1. Phân tích yêu cầu:

Theo mẫu trên thì phải có một form chứa:

- Các đối tượng có nội dung “THÔNG TIN KHÁCH HÀNG” là các Label.

- Đối tượng hiển thị danh sách mặt hàng là DataGridView

- Các nút “Thêm” “Xóa”, “Sửa”, “Lưu”, “Tìm kiếm”, “Thoát” là các Button

- Đối tượng để di chuyển trên các bản ghi là đối tượng BindingNavigator.

2. Hướng dẫn thao tác:

Có thể bạn quan tâm!

Xem toàn bộ 318 trang tài liệu này.

Để thực hiện việc thiết kế form dạng lưới có tên frmDanhSachMatHang để nhập dữ liệu cho bảng tblMatHang người lập trình đã thực hiện các bước sau:

1. Tạo form mới với tên frmDanhSachMatHang bằng cách thực hiện các thao tác: Trên thanh menu, chọn Project/Add New Item.

Xuất hiện cửa sổ Add New Item. Chọn loại Windows Form, sau đó nhập tên frmDanhSachMatHang vào ô Name rồi nhấn nút Add.

2. Thiết kế các điều khiển: Nhãn “Danh sách mặt hàng”, các nút lệnh Thêm, Sửa, Xóa, Tìm kiếm, Thoát trên form dạng lưới tương tự như với các điều khiển tương ứng của công việc 1 đã thao tác trên form frmThongTinKhachHang.

3. Chọn bảng tblMatHang từ cửa sổ Data Source và kéo vào form. Điều chỉnh kích thước và vị trí của lưới cho phù hợp.

Nháy phải chuột vào lưới, chọn Properties để thiết lập các thuộc tính cho lưới như sau:

Name: TblMatHangDataGridView

Selection Mode: FullRowSelect

MultiSelect: False.

Các thuộc tính khác để mặc định.

Nhấn vào nút ở thuộc tính Columns trong cửa sổ Properties của lưới. Xuất hiện cửa sổ Edit Columns.

Hình 17 Cửa sổ Edit Columns Nhấn vào các cột ở khung Selected Columns bên trái và 3


Hình 17. Cửa sổ Edit Columns


Nhấn vào các cột ở khung Selected Columns bên trái và thay đổi giá trị HeaderText ở khung Bound Column Properties bên phải cho phù hợp với yêu cầu. Nhấn OK để áp dụng tiêu đề cho các cột của lưới danh sách mặt hàng.

Điều khiển TblMatHangBindingNavigator để thực hiện việc di chuyển trên các bản ghi của bảng tblMatHang được VB.NET cung cấp sẵn, mặc định khi kéo bảng tblMatHang từ cửa sổ Data Source vào form thì đối tượng TblMatHangBindingNavigator cũng được thêm vào form chỉ việc kéo điều khiển này đặt vào vị trí theo yêu cầu.

Viết mã lệnh cho các điều khiển như sau:

Mặc định khi kéo lưới vào form sẽ phát sinh mã trong sự kiện Load của form frmDanhSachMatHang như sau:

Private Sub frmDanhSachMatHang_Load(ByVal sender As

System.Object,

MyBase.Load

'TODO:

ByVal

e As System.EventArgs) Handles

This

line

of

code

loads

data

into

the

'QLYBHDataSet.tblMatHang' table. You can move, or remove it, as

needed.

Me.TblMatHangTableAdapter.Fill(Me.QLYBHDataSet.tblMatHang)

End Sub


Nút lệnh Thêm:


Private Sub ButtonThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonThem.Click

'Đoạn mã này thực hiện việc kiểm tra dữ liệu ở ô mã khách hàng để quyết định thực hiện việc thêm mới một bản ghi hay cập nhật thông tin của bản ghi đã có.

MaKHTextBox.Text = "" HotenTextBox.Text = "" DiachiTextBox.Text = "" DienThoaiTextBox.Text = "" HotenTextBox.Enabled = True DiachiTextBox.Enabled = True DienThoaiTextBox.Enabled = True GioitinhComboBox.Enabled = True

MaKHTextBox.Enabled = False ButtonLuu.Enabled = True ButtonThem.Enabled = False HotenTextBox.Focus()

If MaKHTextBox.Text = "" Then


Dim kh As QLYBHDataSet.tblKhachHangRow


kh = Me.QLYBHDataSet.tblKhachHang.NewtblKhachHangRow() kh.Diachi = DiachiTextBox.Text

kh.DienThoai = DienThoaiTextBox.Text kh.Hoten = HotenTextBox.Text

kh.Gioitinh = GioitinhComboBox.SelectedItem.ToString() Me.QLYBHDataSet.tblKhachHang.Rows.Add(kh)


Me.TblKhachHangTableAdapter.Update(Me.QLYBHDataSet.tblKhachHang)


Me.TblKhachHangTableAdapter.Fill(Me.QLYBHDataSet.tblKhachHang) End If

End Sub


Nút lệnh Xóa


Private Sub ButtonXoa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonXoa.Click

'Đoạn mã này sẽ xác nhận việc xóa dữ liệu của người sử dụng bằng cách xuất hiện một hộp thoại xác nhận xóa. Khi người dùng chọn Yes thì hệ thống sẽ xóa bản ghi được lựa chọn.

If MessageBox.Show("Bạn có chắc chắn muốn xóa khách hàng này?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then

Dim oldRegionRow As QLYBHDataSet.tblKhachHangRow


oldRegionRow = QLYBHDataSet.tblKhachHang.FindByMaKH(Convert.ToInt32(MaKHTextBox. Text))


TblKhachHangTableAdapter.Delete(Convert.ToInt32(MaKHTextBox.Text))


Me.TblKhachHangTableAdapter.Update(Me.QLYBHDataSet.tblKhachHang)


Me.TblKhachHangTableAdapter.Fill(Me.QLYBHDataSet.tblKhachHang) End If

End Sub


Nút lệnh Sửa:


Private Sub ButtonSua_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonSua.Click

If Not String.IsNullOrEmpty(MaKHTextBox.Text) Then HotenTextBox.Enabled = True DiachiTextBox.Enabled = True DienThoaiTextBox.Enabled = True GioitinhComboBox.Enabled = True MaKHTextBox.Enabled = False

ButtonLuu.Enabled = True ButtonSua.Enabled = False HotenTextBox.Focus()

End If End Sub


Nút lệnh Tìm kiếm:


Private Sub ButtonTimKiem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonTimKiem.Click

'Đoạn mã này thực hiện việc tìm kiếm khách hàng dựa theo mã khách hàng.

If Not String.IsNullOrEmpty(MaKHTextBox.Text) Then TblKhachHangBindingSource.Filter = "MaKH='" & MaKHTextBox.Text

& "'"


Me.TableAdapterManager.UpdateAll(Me.QLYBHDataSet) Else

MessageBox.Show("Chưa nhập mã khách hàng để tìm kiếm", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

MaKHTextBox.Focus() End If

End Sub


Nút lệnh Lưu:


Private Sub ButtonLuu_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonLuu.Click

If MaKHTextBox.Text = "" Then

Dim kh As QLYBHDataSet.tblKhachHangRow


kh = Me.QLYBHDataSet.tblKhachHang.NewtblKhachHangRow() kh.Diachi = DiachiTextBox.Text

kh.DienThoai = DienThoaiTextBox.Text kh.Hoten = HotenTextBox.Text

kh.Gioitinh = GioitinhComboBox.SelectedItem.ToString() Me.QLYBHDataSet.tblKhachHang.Rows.Add(kh)


Me.TblKhachHangTableAdapter.Update(Me.QLYBHDataSet.tblKhachHang)


Me.TblKhachHangTableAdapter.Fill(Me.QLYBHDataSet.tblKhachHang)


Else


'TblKhachHangTableAdapter.UpdateKhachHang(HotenTextBox.Text, GioitinhComboBox.SelectedItem.ToString(), DiachiTextBox.Text, DienThoaiTextBox.Text, Convert.ToInt32(MaKHTextBox.Text))


Me.TblKhachHangTableAdapter.Update(Me.QLYBHDataSet.tblKhachHang)


Me.TblKhachHangTableAdapter.Fill(Me.QLYBHDataSet.tblKhachHang) End If


HotenTextBox.Enabled = False DiachiTextBox.Enabled = False DienThoaiTextBox.Enabled = False

GioitinhComboBox.Enabled = False MaKHTextBox.Enabled = True ButtonLuu.Enabled = False

If MaKHTextBox.Text = "" Then ButtonThem.Enabled = False

Else


ButtonSua.Enabled = False End If

End Sub


Nút lệnh Thoát:


Private Sub ButtonThoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonThoat.Click

Me.Close() End Sub

Ngày đăng: 16/07/2022