[英]Sorting DevExpress GridControl by other column
我将服务器模式下的GridControl绑定到一个类数组( List<Product>
)。 数据部分是从数据库中获取的,这意味着ID是从数据库中获取的,但随后会转换为代码中的名称(其他只读属性)。
网格显示名称,而不是ID。 但是,当我单击网格标题时,我想按ID排序,即,如果单击“产品标题”标题,则实际上要按“产品ID”排序。
我怎么做?
您可以尝试对列表进行排序。
请尝试以下操作:
myDataSource.Sort((x,y) => x.ProductID.CompareTo(y.ProductID));
myGridView.RefreshData();
简单的解决方案:
在Grid View数据源中添加ID column
,然后单击链接以在网格中实施排序。 几乎没有办法实现这一目标。 您还可以使用Sorting
:
grid.Columns["ID"].SortOrder = ColumnSortOrder.Ascending;
或使用“ Custom Sorting
,如下所示:
grid.ItemsSource = your list datasource;
grid.PopulateColumns();
grid.Columns[0].SortMode = ColumnSortMode.Custom;
grid.SortBy(grid.Columns[0]);
然后处理GridControl.CustomColumnSort事件 :
private void grid_CustomColumnSort(object sender, CustomColumnSortEventArgs e) {
e.Result = Comparer<int>.Default.Compare(e.ListSourceRowIndex1,
e.ListSourceRowIndex2);
e.Handled = true;
}
参考文献:
按代码排序
如何:实施自定义排序
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.