0

我将服务器模式下的 GridControl 绑定到类数组 ( List<Product>)。数据部分取自数据库,这意味着 ID 取自数据库,但随后转换为代码中的名称(附加只读属性)。

网格显示名称,而不是 ID。但是当我单击网格标题时,我想按 ID 排序,即如果我单击“产品标题”标题,我实际上想按“产品 ID”排序。

我怎么做?

4

2 回答 2

0

您可以尝试对列表进行排序。

尝试以下操作:

myDataSource.Sort((x,y) => x.ProductID.CompareTo(y.ProductID));
myGridView.RefreshData();
于 2013-02-11T14:12:34.663 回答
-1

简单的解决方案:

添加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;
}

参考:
在代码中排序
如何:实现自定义排序

于 2013-02-12T07:07:56.717 回答