2011-11-04 35 views
7

DataGridView için çalışmak için sıralama almaya çalışıyorum. Sütun başlıklarını tıklattığımda sıralama çalışmıyor, ancak çalışmıyor. Neyi yanlış yapıyorum? Sen sıralama uygulayan bir listeye bağlamak zorundaDataGridView içinde SortMode nasıl kullanılır?

private void LoadDummyData() 
{ 
    List<AddressBookDummy> list = new List<AddressBookDummy>(); 
    list.Add(new AddressBookDummy { Name = "Newman, Alfred", Type = "CAR" }); 
    list.Add(new AddressBookDummy { Name = "Skywalker, Luke", Type = "SUP" }); 
    list.Add(new AddressBookDummy { Name = "Skywalker, Leia", Type = "BEN" }); 

    addressBookGrid.DataSource = list; 
} 

private void InitializeGrid() 
{ 
    addressBookGrid.RowHeadersVisible = false; 
    addressBookGrid.ScrollBars = ScrollBars.Vertical; 
    addressBookGrid.SelectionMode = DataGridViewSelectionMode.FullRowSelect; 
    addressBookGrid.Columns[0].SortMode = DataGridViewColumnSortMode.Automatic; 
    addressBookGrid.Columns[1].SortMode = DataGridViewColumnSortMode.Automatic; 
} 
+0

olası yinelenen ?] (http://stackoverflow.com/questions/6228340/how-do-i-sort-a-databound-column-in-a-datagridview-on-a-column-header-click) –

+0

Vay, ikinci kez Bu tam soru son birkaç saat içinde yayınlandı. Bir arama fonksiyonu var, insanlar. –

+0

Üzgünüm Charles. Soruyu sorduğumda bu cevap gelmedi. –

cevap

6

, here's an example

Özet:

public Form1() 
{ 
InitializeComponent(); 

SortableBindingList<person> persons = new SortableBindingList<person>(); 
persons.Add(new Person(1, "timvw", new DateTime(1980, 04, 30))); 
persons.Add(new Person(2, "John Doe", DateTime.Now)); 

this.dataGridView1.AutoGenerateColumns = false; 
this.ColumnId.DataPropertyName = "Id"; 
this.ColumnName.DataPropertyName = "Name"; 
this.ColumnBirthday.DataPropertyName = "Birthday"; 
this.dataGridView1.DataSource = persons; 
} 
Bir sütun başlığı tıklandığında bir DataGridView bir veri sınırlama sütunu sıralamak nasıl [ait
+0

Bu mükemmel çalıştı. Teşekkürler. –

+0

BindingList Sortable'ımı yapmak için çok çalıştım. – bulltorious

+0

Linkin bir özetini ekleyebilir misiniz? Böylece, bu cevabın bağlantı olmadan kendi haklarında durabilmesi için? http://meta.stackexchange.com/q/8231/189763 –