Trình bày dữ liệu với DataGridView và ComboBox

Trình bày dữ liệu với DataGridView và ComboBox

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

Trình bày dữ liệu với DataGridView và ComboBox

Bướ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:

Bướ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:

Bước 6: Hiệu chỉnh cách hiển thị trên DataGridView

Như 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:

Giả sử bạn đã tạo ra được 5 cột như sau:

Bạ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:

Mộ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

Lú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?

Đ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é!

Chúc bạn thành công!

 

Bạn thấy bài viết này như thế nào?: 
Average: 7.8 (14 votes)
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Khuyên bạn nên sử dụng 15 Outstanding Drupal Modules

Khuyên bạn nên sử dụng 15 Outstanding Drupal Modules

Drupal is a (CMS) any web developer should get to know. It is in my opinion the best open source CMS available at the moment, and it has a huge community of contributors

Workshop Photography - Cú bấm máy & Chuyện hậu kỳ trong nhiếp ảnh

Workshop Photography - Cú bấm máy & Chuyện hậu kỳ trong nhiếp ảnh

Buổi Workshop diễn ra vào lúc 9h sáng chủ nhật ngày 10/11/2019. Tại Văn phòng Keyframe : 06 Phan Đình Giót, P2, Q Tân Bình.

Facebook

Facebook dự định đưa quảng cáo vào trang News Feed của người dùng

Mạng xã hội nổi tiếng này đang thử nghiệm một cách thức quảng cáo mới, đó là đăng trực tiếp quảng cáo của mình lên News Feed của người dùng.

Tomdesgin.vn

 

Drupal Services