カスタム ルールを使用して ASPxGridView の並べ替えを実装できます。列のSettings.SortModeプロパティを " " に設定し、 ASPxGridView.CustomColumnSortCustom
イベントを処理する必要があります (対応するトピックで説明されています)。ただし、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 と Entity Framework、および ObjectDataSource のパフォーマンス比較
大規模データのバインド:
データ
へのバインド 大規模データへのバインド (データベース サーバー モード)
サーバー モード機能を実現するための IListServer インターフェイスの実装の可能性