2011-09-27 68 views
2

您好我無法排序按字母順序排列我的datagridview無法進行排序datagridview的

這是我如何填寫我的網格:

bs = new BindingSource(); 
       bs.DataSource = db.GetProducts.ToList(); 
       dgvInventory.DataSource = bs; 

,這是我試圖解決我的網格:

 private void toolStripButton3_Click_1(object sender, EventArgs e) 
    { 
     bs.Sort = "ID DESC, Name ASC"; 
     dgvInventory.DataSource = bs; 
    } 

而當我按下按鈕什麼也沒有發生 這兩列是存在數據網格

,這是屏幕:

enter image description here

回答

5

從報價:http://msdn.microsoft.com/en-us/library/system.windows.forms.bindingsource.sort.aspx

爲了支持排序,基礎列表必須實現 IBindingList的或IBindingListView接口。此功能可以通過SupportsSorting屬性查詢 。當SupportsAdvancedSorting屬性爲true時,多列排序爲 。

你調用它會返回你List<Product>它不會爲支持這些接口的,因此不會被排序各項ToList()擴展方法。

+0

感謝大家重播。我prefare簡單的方法,所以我用linq sql順序:D –

1

,當你有自定義對象,您必須實現SortableBindingList。在互聯網上搜索這個。這種行爲的原因是基礎源負責排序,而不是DataGridView。

而且,同樣的問題在這裏:DataGridView Sort does not work

相關問題