2008-11-11 7 views
3

안녕하세요읽기 전용 DataGridView 및 IEditableObject

.NET Windows Forms 프로젝트의 DataGridView에 약간의 문제가 있습니다. 모눈은 읽기 전용이며 사용자 지정 비즈니스 개체가 포함 된 정렬 가능 BindingList<T>에 바인딩됩니다. 내 비즈니스 객체 클래스는 IEditableObject을 구현합니다.

이제 BeginEditEndEdit 메서드는 그리드에서 탐색하는 동안 항상 호출됩니다. 그리드 또는 바인딩 소스가이를 방지 할 수있는 방법이 있습니까? 명시 적으로 읽기 전용으로 설정되어 있기 때문에 (ReadOnly = true),이 방법을 반복해서 호출하는 이유는 없습니다 (아니오, 신중하게 보지 않겠습니다).

읽기 :

마티아스 주셔서 감사합니다

답변

2

...는 DataGridView에 상관없이 당신의 IEditableObject 이벤트를 호출하지 끝낼 방법/이벤트의 체인을 호출하는 것 같다 문제를 복제 한 후

BindingList를 DataGridView.DataSource로 설정하고 Grid를 탐색 할 때 이런 일이 발생합니다.

DataGridView에 대해 선택한 EditMode에 관계없이 코드는 BusinessObjects의 IEditableObject.EndEdit() 메서드로 이동합니다.

프레임 워크의 이전 BUG 인 것 같습니다 ... 이걸 찾았습니다 Bug Report.

이 버그 보고서는 매우 오래된 것입니다. 나는 이것이 여전히 문제라면 100 % 확실하지 않다. 아마 어쩌면 이것을 해결할 속성이 이미있다.

의견이 있으십니까?

+0

버그 보고서에 대한 링크를 열 수 없습니다. 그러나 중대한 대답! 고마워. 나는 이것에 대한 더 많은 정보가 저기에 있기를 바란다 ... :) –

+0

그건 이상한데 ... 링크가 저에게 효과가있는 것처럼 보입니다. –

+0

이제 작동합니다. 그것이 디자인에 의한 것처럼 보입니다, grmpf. –