01/10/2018, 17:21
Lỗi khi gọi hàm Items.Clear() của Combobox trong C#
Giả sử bạn có: Một ComboBox tên “cbCompay” Một DataTable tên tblCompany chứa 2 cột: mã (ID), tên công ty (name). tblCompany có 3 dòng dữ liệu như sau: Dòng Mã Tên công ty 1 01 Góc kinh nghiệm 2 02 Microsoft 3 03 H2H Bạn viết hàm ...
Giả sử bạn có:
- Một ComboBox tên “cbCompay”
- Một DataTable tên tblCompany chứa 2 cột: mã (ID), tên công ty (name). tblCompany có 3 dòng dữ liệu như sau:
Dòng | Mã | Tên công ty |
1 | 01 | Góc kinh nghiệm |
2 | 02 | Microsoft |
3 | 03 | H2H |
Bạn viết hàm Re_LoadData() cho cbCompay như sau:
public void Re_LoadData() { // Xóa các item trong cbCompay cbCompay. Items.Clear(); cbCompay.DataSource = tblCompany; }
Khi bạn gọi hàm Re-loadData() trong lúc cbCompay.Items.Count > 0 thì hàm cbCompay. Items.Clear(); sẽ xuất hiện lỗi như bên dưới:
“Items collection cannot be modified when the DataSource property is set.”
Để giải quyết vấn đề trên, bạn thay hàm cbCompay. Items.Clear() thành cbCompay.DataSource = null
Hàm Re_LoadData() sẽ được viết lại như sau:
public void Re_LoadData() { // Xóa các item trong cbCompay cbCompay.DataSource = null; cbCompay.DataSource = tblCompany; }
Chúc các bạn may mắn!