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