我有一列数据(称之为“排名”),包含“1st”,“2nd”,“5th”,“21st”,“23rd”等等。我正在使用GridView来显示数据,但是当我按“排名”排序时,我在“第一”和“第二”之间得到“第21” - 这在词典上是有意义的,但不是我想要的。
在GridView,ArrayDataProvider或其他地方是否有位置,我可以为该列指定自定义排序函数,最好是我自己编写的函数?
此列未存储在数据库中 - 它是根据用户的视图计算的。这不是数据如何存储在数据库中的问题,而是它如何显示。我的问题不在于模型方面,而是在视角方面。
例如,假设我在GridView中显示如下内容:
ORDER SURNAME 1st Washington 2nd Adams 19th Hayes 20th Garfield
当用户尝试对“SURNAME”进行排序时,它变为
ORDER SURNAME 2nd Adams 20th Garfield 19th Hayes 1st Washington
然后,如果用户尝试对“ORDER”进行排序,则变为
ORDER SURNAME 1st Washington 19th Hayes 2nd Adams 20th Garfield
我怎样才能让用户点击“订购”时得到第一个结果,而不是最后一个?