문제

DataSouce Windows BindingSouce와 함께 Infragistics UltraGrid를 사용하고 있습니다. 변경시, 나는 Bindingsouce에 데이터 소스를 제공하고 UltraGrid의 데이터베이닝을 호출합니다. BindingSouce의 데이터 수치의 가치는 변경되지만 UltraGrid에는 반영되지 않습니다.

도움이 되었습니까?

해결책

바인딩 소스는 그리드 새로 고침을 트리거하기 위해 일부 이벤트를 제기해야합니다. 예를 들어, 사용중인 경우 BindingList 그것은 올라야한다 ListChanged 이벤트.

다른 팁

또한 바인딩 객체로 사용하는 클래스가 unotifyPropertyChanged를 구현하여 런타임에 BindingObject를 업데이트 할 때 BindingSource로 채널로 연결되어 결국 그리드에 의해 픽업됩니다.

즉:

BindingList<Foo> lstItems = new BindingList<Foo>;
BindingSource bso = ;
bso.DataSource = lstItems; 
Grid.DataSource = bso; 

public class Foo :  INotifyPropertyChanged

여기 MDSN 기사를 참조하십시오

또한 그리드 외부의 컬렉션을 변경하는지 여부에 따라 달라집니다 (런타임에, 그렇다면 사용해야하기 때문에 BindingList<T> 그리고 그것을 할당하십시오 BindingSource

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top