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