나는 이것을 아무렇게나 보내지 않으려 고 노력하면서 몇 시간을 보낸 후에 이것을 게시 하겠지만. 첫째, WinForms에서의 데이터 바인딩이 최선이 아니라는 것을 완전히 알고 있습니다. 그것은 대부분의 시나리오에서 효과가 있다고 말했습니다.DataGridView를 사용하여 WinForms 데이터 바인딩
제 시나리오에서는 제 양식의 마스터 인 제본 소스가 있습니다. 이 바인딩 원본에 사용되는 개체에는 몇 가지 간단한 속성과 두 개의 바인딩 목록이 속성으로 있습니다. 이 클래스와 바인딩 목록의 클래스 형식은 모두 INotifyPropertyChanged를 구현합니다. 내 양식에는 바인딩 목록 속성의 내용을 표시하는 두 개의 DataGridView가 있습니다.
이 또한 디자인 타임에 데이터 바인딩을 통해 수행됩니다. 데이터 소스로 기본 바인딩 소스를 사용하고 데이터 멤버로 각각의 바인딩 목록 속성을 사용하는 각각에 대해 두 개의 바인딩 소스가 있습니다.
지금까지는 이것을 상당히 표준적인 것으로 생각했습니다.
이 목록에있는 내용을 업데이트하려면 새 항목을 만드는 양식을 표시하는 단추가 있습니다. 그런 다음 BindingList.Add()를 사용하여 목록에 추가합니다.
코드에서 디버깅 할 경우 항목이 목록에 있지만 그리드가 업데이트되지 않습니다. 그러나 목록 바인딩 소스 중 하나만 사용하는 폼에 목록 상자를 추가하면 두 그리드 모두 예상대로 새로 시작됩니다.
불분명 한 점이 있으면 사과드립니다. 혼란스러운 상황에서 가능한 한 최선을 다해 설명하려고 노력했습니다.
숨겨진 목록 상자를 사용하고 싶지 않으므로 어떤 생각이 도움이 될 것입니다.
내가 모르는 를 Form1_Load IMPL을 변경하지만 모든 경우에 이해하지 못했다 당신에게
편집
도움이되기를 바랍니다 개체 바인드 된 구현 *** INotifyPropertyChanged *** – alexb
예, 데이터 바인딩되는 모든 개체는 INotifyPropertyChanged를 구현합니다. –