我已经按照此处提到的步骤为 aspxgridview 实现了自定义排序:http ://documentation.devexpress.com/#AspNet/CustomDocument3818
但是,我注意到它只对当前活动页面进行排序,所以每当我转到另一个页面时,我必须再次单击该列来对其进行排序。
这种行为是正确的,还是我错过了什么?我该如何解决?
PS:我考虑过捕获 PageIndexChanged 事件并手动对活动页面进行排序,但这似乎太 hackish ...
我已经按照此处提到的步骤为 aspxgridview 实现了自定义排序:http ://documentation.devexpress.com/#AspNet/CustomDocument3818
但是,我注意到它只对当前活动页面进行排序,所以每当我转到另一个页面时,我必须再次单击该列来对其进行排序。
这种行为是正确的,还是我错过了什么?我该如何解决?
PS:我考虑过捕获 PageIndexChanged 事件并手动对活动页面进行排序,但这似乎太 hackish ...
我没有检查您的代码,但您的代码似乎不起作用,因为date1.CompareTo方法不返回 -1、0 或 1 值。它可能返回小于零、等于它和大于零的值。
请检查 e.Result 属性值,因为它只能接受这三个数字。
顺便说一句,我看到您有一个文字格式的日期,并且正在尝试即时转换字符串。我认为您可能更容易创建一个应将日期转换为适当格式的未绑定列,这样您就不必担心编写自定义排序事件处理程序。
谢谢,
背心(DevExpress 支持)
排序有什么问题?您是否希望它按字母顺序排序?
该示例显示了如何进行自定义排序。因此,当您对其进行排序时,它会使用算法来检查字符串的长度,然后按字符串长度对其进行排序。
“此示例展示了如何实现自定义排序。“国家/地区”列显示文本值。当对此列应用排序时,将通过“国家/地区”列值的长度来比较行。
我已经对其进行了测试,它似乎可以正常工作。
您可能会发现此示例也很有帮助。
希望有帮助。