바인딩 BindingList
이 WinForm 시나리오에서는 사람을 나타내는 클래스와 List
바인딩 이해
문제는 목록이 IBindingList를 구현하지 않는다는 사실에서 발생합니다. 결과적으로 DataGridView는 목록의 변경 사항을 인식하지 못합니다.
해결 방법: BindingList
이 문제를 해결하려면 DataGridView를 BindingList<에 바인딩하는 것을 고려하세요. ;T> 대신에. 이 클래스는 IBindingList를 구현하여 DataGridView가 바인딩된 목록의 변경 사항에 대한 알림을 받을 수 있도록 합니다.
var list = new BindingList<Person>(persons); myGrid.DataSource = list;
더 많은 제어를 위한 BindingSource
데이터에 대한 더 큰 제어 바인딩하는 경우 BindingList
var list = new List<Person>() { new Person { Name = "Joe", }, new Person { Name = "Misha", }, }; var bindingList = new BindingList<Person>(list); var source = new BindingSource(bindingList, null); grid.DataSource = source;
이 접근 방식을 사용하면 데이터 소스와 DataGridView 간의 일관되고 동적인 바인딩을 유지하여 기본 데이터에 대한 업데이트가 실시간으로 반영되도록 할 수 있습니다.
위 내용은 목록에 항목을 추가한 후 내 WinForms DataGridView가 업데이트되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!