Nên họ xây dựng một hệ thống e-order, hệ thống này được thực hiện thông qua một chương trình order cài đặt trên máy PDA, mỗi người phục vụ sẽ được cung cấp một PDA, khi khách hàng gọi [r]
(1)Lab 05:
LẬP TRÌNH WINDOWS FORM VỚI CÁC CONTROL NÂNG CAO (Các control trình bày liệu dạng bảng lưới)
A MỤC TIÊU:
Sử dụng Visual Studio NET 2010/2012/2013 tạo ứng dụng dạng Windows Forms với control nâng cao dạng bảng, lưới
Làm quen với việc sử dụng control form như:
PictureBox: Đối tượng chưa hình ảnh
DateTimePicker: Control chọn giá trị ngày/tháng/năm
GroupBox: Nhóm đối tượng nhóm
Sử dụng DataTable để chứa thông tin dạng bảng
Sử dụng DataGridView để thị nội dung chứa DataTable
Sử dụng ListView để hiển thị thông tin dạng
B NỘI DUNG:
Bài tập 1: Xây dựng ứng dụng Windows Forms mô theo mơ tả sau:
(2)Hình 1: Màn hình minh họa ứng dụng E-Order Thao tác sử dụng:
Người phục vụ chọn tên bàn list ComboBox, sau tùy theo yêu cầu gọi client mà người phục vụ chọn ăn, thức uống thơng qua danh mục ăn thể danh sách button Mỗi lần chọn ăn bổ sung thêm số lượng gọi 1, ví dụ lần chọn Buger Phơ mai Bị số lượng danh mục gọi bàn hiển thị danh sách bên
Kết thúc trình gọi ăn người phục vụ chọn chức “Order”, thông tin gởi cho đầu bếp…
(3)Lưu ý: Phần tạo đối tượng DataTable khởi tạo cấu trúc (Column) DataTable đặt
hàm xử lý kiện Load Form
Mỗi click vào ăn chương trình tìm DataTable xem có ăn chưa, chưa có thêm dịng vào với tên ăn số lượng Ngược lại có chọn số lượng tăng
Cách thêm dịng (món ăn) vào DataTable tbOrder DataRow r = tbOrder.NewRow();//tạo dịng // thiết lập cột FoodName với ăn chọn
r["FoodName"] = <tên ăn chọn>; r["Quantity"] = 1; // thiết lập cột Quantity
tbOrder.Rows.Add(r); // thêm vào bảng
Sử dụng thuộc tính DataSource DataGridView để kết buộc với liệu DataTable, phần code khai báo sau khởi tạo DataTable (trong hàm xử lý kiện load form)
VD: tên DataGridView chương trình dataGridView1 biến DataTable tbOrder
thì code kết buộc sau:
// binding nội dung DataTable cho DataGridView
dataGridView1.DataSource = tbOrder; Bài tập 2:
Việc tìm kiếm ăn có bảng tbOrder đơn giản duyệt qua dịng kiểm tra tên ăn Tuy nhiên, ta làm cách khác việc dùng hàm Find thuộc tính Rows DataTable Nếu muốn sử dụng hàm Find bảng Order phải thiết lập khố Do bảng tbOrder ta tạo khố thuộc tính “FoodName” sau tìm kiếm theo thuộc tính
(4)Bài tập 3: Thêm vào project form frmNhanvien với listview sau :
Hình 1: Màn hình minh họa ứng dụng Yêu cầu :
Nhập thông tin vào phần “thông tin chi tiết”, nhấn nút lệnh thực sau:
Nút Thêm: Thêm thông tin vào listview Chú ý : Kiểm tra thông tin họ tên nhân viên khơng rỗng, rỗng khơng cho thêm
Nút Xóa: Xóa dịng listview (chú ý người dùng chưa chọn dịng listview yêu cầu người dùng phải chọn xóa)
Nút Sửa: Cập nhật thông tin điều chỉnh dịng listview
Thốt: khỏi chương trình
Khi chọn dịng listview nội dung dòng chọn thể ô “Thông tin chi tiết”
Hướng dẫn :
Bước 1: Thiết kế Form với trol định sau:
STT Tên Control Loại Tên hàm xử lý
1 lsvNhanVien ListView lsvNhanVien_SelectedIndexChanged txtHoTen TextBox
3 dtpNgaySinh DateTimePicker txtDiaChi TextBox
(5)Đối với Listview lsvNhanvien tiếp tục thực định dạng sau:
Click phải Listview menu tùy chỉnh listview, chọn Edit Columns
Hình 2: Màn hình chọn chức điều chỉnh ListView Lần lượt thêm cột từ nut Add (nếu xó bỏ chọn Remove)
Khai báo thông tin
o Name: Tên cột
o Text: Tiêu đề cột
o Width: Độ rộng cột
Ok để hòa tất thiết kế cột
Hình 3: Màn hình thiết kế, điều chỉnh ListView Trở lại hình thiết kế Form định thuộc tính cho listview:
FullRowSelect = true;//cho phép chọn dòng
GridLine= true;//Kẻ lưới
View = Details;//Hiển thị thông tin chi tiết dạng lưới
Bước 2: Viết code cho kiện
Để thêm dòng vào cho listview : sử dụng ListViewItem
ListViewItem lvi = lsvNhanVien.Items.Add(txtHoten.Text); lvi.SubItems.Add(dtpNgaySinh.Value.ToShortDateString());
lvi.SubItems.Add(txtDienThoai.Text);
lvi.SubItems.Add(txtDiaChi.Text);
Chọn dòng listview : sử dụng kiện lsvNhanVien_SelectedIndexChanged
(6)if (lsvNhanVien.SelectedItems.Count > 0) {
txtHoten.Text =
lsvNhanVien.SelectedItems[0].SubItems[0].Text; dtpNgaySinh.Text =
lsvNhanVien.SelectedItems[0].SubItems[1].Text; txtDienThoai.Text =
lsvNhanVien.SelectedItems[0].SubItems[2].Text; txtDiaChi.Text =
lsvNhanVien.SelectedItems[0].SubItems[3].Text; }
Nhấn nút xóa : Dùng phương thức remove removeAt listview
//kiểm tra listview có dịng chọn hay chưa?
if (lsvNhanVien.SelectedItems.Count > 0)
{
lsvNhanVien.Items.Remove(lsvNhanVien.SelectedItems[0]); }
Nhấn nút sửa : Cập nhật lại thông tin cho listview
if (lsvNhanVien.SelectedItems.Count > 0)
{
lsvNhanVien.SelectedItems[0].SubItems[0].Text =txtHoten.Text; lsvNhanVien.SelectedItems[0].SubItems[1].Text =
dtpNgaySinh.Value.ToShortDateString(); lsvNhanVien.SelectedItems[0].SubItems[2].Text =
txtDienThoai.Text; lsvNhanVien.SelectedItems[0].SubItems[3].Text =
txtDiaChi.Text; }