asp.net DataGrid 中文字符排序的实现代码

2019-05-11 21:39:00王振洲

        <mx:columns>
            <mx:DataGridColumn headerText="fieldA" dataField="fieldA"/>
            <mx:DataGridColumn headerText="fieldB" dataField="fieldB"
                sortCompareFunction="{SortUtil.sortChineseObject}"/>
        </mx:columns>
    </mx:DataGrid>
</mx:Application>

工具类SortUtil:

package com
{
    public class SortUtil
    {
        public static const UNDERFLOW_VALUE:Number = 19968;
        public static const OVERFLOW_VALUE:Number = 40869;
        public static const CHAR_LIB:Array =
        [
            17847, 3020 , 7791 , 11747, 13406, 16239, 10614, 15414, 19619, 13144, 13407, 16240, 6068 , 1052 , 18773, 10292, 4217 , 1898 , 1899 , 20418, 12273, 11376, 13739, 13740, 12466, 883 , 17787, 2241 , 3065 , 14047, 1640 , 3060 , 12467, 8961 , 3061 , 18616, 8962 , 17366, 907 , 13179, 4936 , 7245 , 4451 , 17258, 20470, 20143, 6243 , 6976 , 3866 , 4781 , 2030 , 1371 , 9087 , 20550, 20338, 5020 , 15367, 2512 , 15503, 20339, 7146 , 8718 , 7392 , 11552, 3996 , 17886, 17999, 10650, 15853, 7267 , 7268 , 15232, 10022, 18000, 5342 , 19904, 15797, 19475, 5460 , 3577 , 8506 , 18253, 11582, 11203, 12216, 5531 , 4739 , 1648 , 1655 , 17963, 18204, 15353, 10344, 7266 , 11886, 17778, 16071, 16441, 4218 , 7269 , 5042 ,
            5343 , 13849, 3132 , 13724, 6074 , 10698, 7726 , 7907 , 15010, 10543, 11097, 9850 , 9690 , 1109 , 13022, 17133, 17424, 11374, 13247, 10622, 12041, 14140, 3513 , 2332 , 1241 , 12049, 20055, 4853 , 4252 , 9692 , 9126 , 18102, 7531 , 9036 , 9829 , 18679, 19845, 13747, 13750, 3557 , 1965 , 18677, 8088 , 18678, 19118, 5543 , 11789, 15854, 7145 , 14096, 14318, 4465 , 4502 , 17306, 16628, 17310, 11797, 17313, 6175 , 15077, 15434, 7777 , 2458 , 6746 , 5032 , 18011, 1368 , 5319 , 10566, 17780, 16480, 7109 , 14975, 8973 , 16481, 7113 , 17794, 12302, 967 , 18657, 16705, 2552 , 8858 , 3367 , 15611, 12843, 12844, 6164 , 12778, 15435, 18001, 13682, 12845, 8504 , 3021 , 19387, 7035 , 11687, 1864 , 197 , 19610,
            7010 , 6977 , 874 , 12903, 2205 , 3944 , 14659, 9705 , 3512 , 1148 , 20593, 13741, 14417, 19620, 4124 , 16255, 16256, 3338 , 5361 , 15019, 12869, 11973, 4262 , 18006, 952 , 2467 , 9248 , 17965, 1508 , 1427 , 13106, 13408, 17887, 10583, 10122, 12870, 3656 , 1509 , 17615, 12036, 20185, 11461, 15775, 15856, 6599 , 6444 , 17711, 3868 , 1149 , 12872, 15438, 3849 , 2741 , 3705 , 20144, 11888, 11278, 18681, 2947 , 3307 , 15897, 18012, 16779, 7778 , 17851, 6166 , 41 , 15857, 6266 , 3999 , 3578 , 16876, 7057 , 11377, 2542 , 3958 , 11034, 20186, 18552, 6017 , 5886 , 18774, 2337 , 19121, 13154, 15548, 2012 , 1513 , 17276, 12094, 13382, 1408 , 9706 , 1150 , 17236, 16782, 15549, 20357, 19346, 16305, 11039,