我正在从ASP.NET GridView移植到DevExpress AspxGridView,我使用的是相同的ObjectDataSource,但是现在当我单击标题时它会抛出:
“数据源'xxx‘不支持使用IEnumerable数据进行排序。自动排序只支持DataView、DataTable和DataSet。”
但是这对于GridView来说很好,所以我怀疑这真的是'xxx‘的一个错误。在老的网格视图分页中,排序很好。现在分页仍然有效(当我使用“DataSourceForceStandardPaging”时)。
如何使它与AspxGridView一起工作?
发布于 2013-09-11 06:53:29
可以使用自定义规则实现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;
}希望能帮上忙..。
编辑:用于服务器端排序和分页,请查看示例- 用ObjectDataSource将网格绑定到EnablePaging,并检查“请参阅”链接。
更多参考资料:
如何让网格对服务器上的ObjectDataSource进行排序?
将Gridview寻呼/排序/分组/筛选表达式传递给业务逻辑选择方法
ASPxGridView - ObjectDataSource寻呼与过滤
XPO和实体框架以及ObjectDataSource的性能比较
大数据的绑定:
绑定到数据
绑定到大数据(数据库服务器模式)
实现服务器模式功能的IListServer接口的可能实现
https://stackoverflow.com/questions/18720053
复制相似问题