2011-09-27 73 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

相关问题