簡體   English   中英

按其他列對DevExpress GridControl進行排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM