您可以使用自定义规则实现 ASPxGridView 排序,需要将列的Settings.SortMode属性设置为“ Custom
”并处理ASPxGridView.CustomColumnSort事件(如相应主题所示)。但是,不应禁用Settings.AllowSort选项。
自定义排序示例:
RepositoryItemHyperLinkEdit hlnkEditor;
private void GridCustomSortTest_Load(object sender, EventArgs e)
{
string[] months = new string[] { "January", "February", "March",
"April", "May", "June", "July", "August", "September",
"October", "November", "December" };
hlnkEditor = new RepositoryItemHyperLinkEdit();
//hlnkEditor.Buttons[0].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph;
grid.DataSource = months;
grid.RefreshDataSource();
gridView1.Columns[0].SortMode = DevExpress.XtraGrid.ColumnSortMode.Custom;
gridView1.Columns[0].ColumnEdit = hlnkEditor;
gridView1.CustomColumnSort += new DevExpress.XtraGrid.Views.Base.CustomColumnSortEventHandler(gridView1_CustomColumnSort);
}
void gridView1_CustomColumnSort(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnSortEventArgs e)
{
e.Result = Comparer<int>.Default.Compare(e.ListSourceRowIndex1,
e.ListSourceRowIndex2);
e.Handled = true;
}
希望这有帮助..
编辑:
对于服务器端排序和分页,请通过示例 -
使用 EnablePaging 将网格绑定到 ObjectDataSource并检查另见链接。
更多参考资料:
如何让网格在服务器上对我的 ObjectDataSource 进行排序?
将 Gridview 分页/排序/分组/过滤表达式传递给业务逻辑 选择方法
ASPxGridView - ObjectDataSource 分页和过滤
XPO 和实体框架以及 ObjectDataSource 的性能比较
绑定大数据:
绑定到数据
绑定到大数据(数据库服务器模式)
IListServer 接口的可能实现,以实现服务器模式功能