2011-03-03 2 views
0

난 후 성공적으로 동일한 유형의 객체를 추가 한 http://www.martinwilley.com/net/code/forms/sortablebindinglist.htmlC#을 DataGridView를 정렬

에 표시된 SortedBindingList 클래스를 구현했습니다.

목록에 설정된 BindingSource가있는 양식에 DataGridView가 있습니다. 열 머리글을 클릭하면 목록이 SortedBindingList 개체에 정렬되지만 DataGridView에는 변경 내용이 반영되지 않습니다. 설정해야하는 DataGridView 또는 구독해야하는 이벤트에 대한 속성이 있습니까? 나는 그것이 결과를 반환하는 비교 방법에 SortedBindingList 코드에 중단 점을 넣으면

SortedBindingList<CustomObject> list = new SortedBindingList<CustomObject>(); 
//Add Objects to list 
CustomObjectBindingSource.DataSource = list; 
dataGridViewSource1.DataSource = CustomObjectBindingSource; 

, 난 그냥 DataGridView에 정렬되는 등의 목록을 표시하지 않는, 목록이 적절하게 정렬 된 것을 볼 수 있습니다. 내가 뭘 놓치고 있니?

감사합니다.

답변

1

편집 : 죄송합니다. 어떤 이유로 나는, 당신이 필요가 귀하의 경우에는 asp.net

라고 생각

BindingSource bs = new BindingSource(); 
    bs.DataSource = bs; 
    dataGridView.DataSource = bs; 

편집 2 : 난 그냥이

SortableBindingList<Person> list = new SortableBindingList<Person>(); 
    list.Add(new Person{Name = "abc",Email = "def"}); 
    list.Add(new Person { Name = "bcd", Email = "aqz" }); 
    dataGridView1.DataSource = list; 
처럼 SortableBindingList 클래스를 사용하여이 시도

에 대한

public class Person 
    { 
     public string Name { get; set; } 
     public string Email { get; set; } 
    } 

그리고 그것은 나를 위해 작동합니다.

+0

답변 해 주셔서 감사합니다.하지만 약간 혼란 스럽습니다. DataGridView 또는 BindingSource에서 사용할 수있는 DataBind() 메서드가 표시되지 않습니다. DataBind() 메서드가있는 객체에 대해 좀 더 구체적으로 설명 할 수 있습니까? – Atari2600

+0

@ Atari2600 편집 됨! –

+0

StackOverflowException 다시 감사드립니다. 그게 내가 이미하고있는 것과 똑같은가요? 유일한 차이점은 내가 알 수있는 변수 이름입니다. bs.DataSource를 목록으로 설정하고 DataSource 자체로 설정하지 말아야한다고 잘못 생각한 것 같습니다. – Atari2600

관련 문제