Sorting 排序

Goto Data Grid 数据网格

Sorting 排序

Sort Data 对数据进行排序

默认情况下,最终用户可以按任何列对数据进行排序,但具有 MemoExEdit、ImageEdit 和 PictureEdit 就地编辑器的列除外。在运行时,单击列标题一次可对数据进行升序排序。后续点击将反转排序顺序。列标题中的排序字形(向上或向下箭头)表示当前排序顺序。

要按特定列对数据进行排序,最终用户还可以右键单击此列的标题,然后选择“升序排序”或“降序排序”。

在这里插入图片描述

Related API 相关 API

  • GridOptionsCustomization.AllowSort - 禁用按任何网格列排序。
  • OptionsColumn.AllowSort - 禁用按此特定列排序。

Multi-Column Sorting 多列排序

当最终用户单击列标题时,数据网格将丢弃当前应用的排序,并在用户通过标题上下文菜单对数据进行排序时保留该排序。因此,要按多列对数据进行排序,最终用户应使用标题上下文菜单或在单击列标题时按住 Shift 键。在下图中,数据首先按 “Customer ID” 字段升序排序,然后按订单日期降序排序。

在这里插入图片描述

Clear Sorting 清除排序

要删除按特定列进行的数据排序,最终用户应在按住 Ctrl 键的情况下单击此列的标题。或者,用户可以右键单击此标题并选择 “Clear Sorting”。要同时删除按所有列排序,请改为选择“清除所有排序”。

在这里插入图片描述

Related API 相关 API

  • GridOptionsCustomization.AllowSort - 阻止最终用户通过 Ctrl + 单击列标题来取消对数据排序,并禁用所有网格列的“清除排序”选项。
  • OptionsColumn.AllowSort - 阻止最终用户通过 Ctrl + 单击此列的标题来取消对数据的排序,并禁用此列的“清除排序”选项。
  • GridView.PopupMenuShowing - 允许您手动修改或删除上下文菜单项,最终用户可以使用这些菜单项更改排序。下面的代码更改了“Clear All Sorting”项行为,以便最终用户将无法按“Order Date”列删除预定义排序。
using System.Linq;
using DevExpress.Utils.Menu;
//. . .
gridView1.PopupMenuShowing += GridView1_PopupMenuShowing;
//. . .
private void GridView1_PopupMenuShowing(object sender, PopupMenuShowingEventArgs e) {
    DXMenuItem clearSorting = e.Menu.Items.First(x => x.Caption == "Clear All Sorting");
    clearSorting.Click += ClearSorting_Click;
}

private void ClearSorting_Click(object sender, EventArgs e) {
    gridView1.SortInfo.ClearAndAddRange(new[] {
            new GridColumnSortInfo(colOrderDate, DevExpress.Data.ColumnSortOrder.Ascending)
        });
}

Sort Groups by Summary Values 按汇总值对组进行排序

数据网格可以根据这些组的汇总值对组进行排序。有关详细信息,请参阅 摘要 一文。
在这里插入图片描述

Sort Modes 排序模式

默认情况下,具有 LookUpEdit 和 ImageComboBoxEdit 就地编辑器的列按编辑器的显示值对其数据进行排序。其他列按编辑器的编辑值对其数据进行排序。使用 GridColumn.SortMode 属性更改此排序模式。

在下图中,具有 ImageComboBoxEdit 的列被迫按优先级从低到高对项目进行排序。为此,必须将 GridColumn.SortMode 更改为 ColumnSortMode.Value。否则,项目将按其显示值的字母顺序排序。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值