Trình bày dữ liệu với DataGridView và ComboBox Đăng ngày: Thứ Sáu, 30/03/2012 12:00 AM Lượt xem: 1211 Bài viết này tôi sẽ giới thiệu với các bạn mới học lập trình Windows Forms cách đọc
Trang 1Trình bày dữ liệu với DataGridView và ComboBox
Đăng ngày: Thứ Sáu, 30/03/2012 12:00 AM
Lượt xem: 1211
Bài viết này tôi sẽ giới thiệu với các bạn mới học lập trình Windows Forms cách đọc và trình bày dữ liệu lên các điều khiển DataGridView và ComboBox Bài viết này sẽ liên quan đến kiến thức lập trình ADO.NET thao tác với CSDL SQL Server
Trong bài này, tôi có cơ sở dữ liệu HRM (Quản lý nhân sự) với 2 bảng CSDL: Departments (Đơn vị) và Employees (Nhân viên)
Bài toán đặt ra là: Hiển thị các đơn vị lên điều khiển ComboBox (cboDeparts); mỗi khi người dùng chọn vào 1 đơn vị trên ComboBox sẽ hiển thị ra danh sách nhân viên tương ứng với phòng ban đó trên điều khiển DataGridView (dgvEmployees)
Để làm được điều đó bạn thực hiện như sau:
Bước 1: Thiết kế cơ sở dữ liệu như hình trên
Bước 2: Thiết kế giao diện như sau
Trang 2Bước 3: Khai báo các đối tượng để thao tác với CSDL
Để làm việc với ADO.NET thao tác với CSDL SQL Server bạn sử dụng 2 thư viện sau:
System.Data.SqlClient và System.Data;
Trong Code bạn khai báo các đối tượng sau:
Bước 4: Lập trình hiển thị các đơn vị lên điều khiển ComboBox
Trong sự kiện Load của Form, bạn lập trình như sau:
Trang 3Bước 5: Hiển thị danh sách nhân viên tương ứng của mỗi đơn vị
Trong sự kiện SelectionChangeCommitted của cboDeparts bạn lập trình như sau:
Bây giờ bạn nhấn F5 để chạy Sau đó chọn 1 phòng ban tương ứng, dữ liệu sẽ hiển thị tương tự như sau:
Trang 4Bước 6: Hiệu chỉnh cách hiển thị trên DataGridView
Trang 5Như bạn thấy ở trên, kết quả đã hiển thị chính xác Tuy nhiên, việc hiển thị tiêu đề các cột là Tiếng Anh
và có thể có nhiều trường không muốn hiển thị cũng xuất hiện Bởi vậy bạn muốn tùy chỉnh hiển thị trên DataGridView Bạn có thể hiệu chỉnh bằng một số thao tác sau:
- Chỉ SELECT ra các trường muốn hiển thị: Giả sử bây giờ ta chỉ hiển thị các trường: EmployeeID, FullName, Gender, Birthday Bạn chỉ cần thay đổi câu truy vấn thành như sau: "Select EmployeeID, FullName, Gender, Birthday, Address from Employees Where DepartmentID = " + cboDeparts.SelectedValue
Nhưng khi đó các cột vẫn là Tiếng Anh Bạn hãy thực hiện tiếp thao tác dưới đây
- Tạo ra các cột muốn hiển thị trên DataGridView và gán dữ liệu tương ứng Bằng cách:
Trang 6Giả sử bạn đã tạo ra được 5 cột như sau:
Trang 7Bạn cần chỉ rõ dữ liệu ứng với từng cột là như thế nào thông qua thuộc tính “DataPropertyName” Bạn hãy gán trường tương ứng mà bạn đã SELECT ra
Ví dụ tôi đang chọn cột Mã nhân viên, tôi sẽ nhập “EmployeeID” vào thuộc tính “DataPropertyName”
Bạn hãy làm tương tự cho các cột khác và sau đó kết quả sẽ tương tự như sau:
Trang 8Một thao tác nữa là làm cho cột cuối cùng sẽ kéo đầy DataGridView Để làm điều đó bạn hãy:
R-Click vào DataGridView -> Edit Columns -> Chọn cột Quê quán -> Chọn thuộc tính
AutoSizeMode -> Chọn Fill
Trang 9Lúc này việc hiển thị dữ liệu trên DataGridView về cơ bản đã ổn phải không bạn?
Trang 10Điều khiển DataGridView còn rất nhiều thuộc tính giúp bạn tùy chỉnh hiển thị dữ liệu như mong muốn Bạn hãy đọc và tìm hiểu thêm nhé!