Tôi gặp hầu như cùng một vấn đề như thế này:Cập nhật một databound ComboBox
C# Update combobox bound to generic list
Tuy nhiên, tôi đang cố gắng để thay đổi chuỗi hiển thị; không thêm, xóa hoặc sắp xếp. Tôi đã thử giải pháp BindingList được cung cấp trong câu hỏi được tham chiếu, nhưng nó đã không giúp được gì. Tôi có thể thấy thuộc tính DataSource của combobox được cập nhật chính xác khi tôi chỉnh sửa các mục, nhưng nội dung được hiển thị trong hộp tổ hợp không phải là nội dung trong thuộc tính DataSource.
mã của tôi trông như sau:
mSearchComboData = new List<SearchData>();
mSearchComboData.Add(new SearchData("", StringTable.PatientID));
mSearchComboData.Add(new SearchData("", StringTable.LastName));
mSearchComboData.Add(new SearchData("", StringTable.LastPhysician));
mSearchComboData.Add(new SearchData("", StringTable.LastExamDate));
mBindingList = new BindingList<SearchData>(mSearchComboData);
SearchComboBox.Items.Clear();
SearchComboBox.DataSource = mBindingList;
SearchComboBox.ValueMember = "Value";
SearchComboBox.DisplayMember = "Display";
...
Khi tôi cố gắng cập nhật các nội dung tôi làm như sau:
int idx = SearchComboBox.SelectedIndex;
mBindingList[idx].Display = value;
SearchComboBox.Refresh();
EDIT ::
RefreshItems có vẻ là một phương pháp riêng . Tôi chỉ nhận được thông báo lỗi:
" 'System.Windows.Forms.ListControl.RefreshItems()' là không thể tiếp cận do mức độ bảo vệ của nó"
ResetBindings không có tác dụng.
Tôi đã thử khoảng 13 phương pháp khác nhau để có được combobox trên biểu mẫu của tôi để cập nhật, sau đó cuối cùng đã tìm thấy giải pháp này. Tốt bằng văn bản, và làm việc như một say mê. Cảm ơn! –