easyui datagird 默认显示的数据都是字符, 对要数字列进行排序规则,需要自定义排序规则
如果按字符排序 27竟然小于4 这不是我们想要的。
解决方案
<table id='grid'class='easyui-datagrid' style='1100px;height:430px' url='Ajax-index.php?module=<{$module_name}>&action=Ajax_ReportView_Agent_Call_Report_Select&assigned_user_id=<{$assigned_user_id}>' title='列表' iconCls='icon-table' rownumbers='true' fitColumns='true' singleSelect='true' toolbar='#toolbar' remoteSort='false'> </table>
<script type='text/javascript'> //按数字类型排序 自定义排序 function sort_int(a,b){ if(a.length > b.length) return 1; else if(a.length < b.length) return -1; else if(a > b) return 1; else return -1; }
//显示列 $('#grid').datagrid({ columns: [[ {field:'user_name',title:'坐席工号',20,align:'center'}, {field:'first_name',title:'坐席员',20,align:'center'}, {field:'call_count',title:'电话总量',20,align:'center', sortable:true,sorter:sort_int}, {field:'callout_count',title:'呼出数量',20,align:'center' , sortable:true,sorter:sort_int}, {field:'callin_count',title:'呼入数量',20,align:'center', sortable:true,sorter:sort_int }, {field:'callout_time_len',title:'呼出总时长(秒)',20,align:'center', sortable:true,sorter:sort_int}, {field:'callin_time_len',title:'呼入总时长(秒)',20,align:'center', sortable:true,sorter:sort_int}, {field:'talk_time_len',title:'通话总时长(秒',20,align:'center', sortable:true,sorter:sort_int}, {field:'avg_talk_len',title:'平均通话时长(秒)',20,align:'center', sortable:true,sorter:sort_int}, {field:'talk_count',title:'接通总量',20,align:'center', sortable:true,sorter:sort_int}, {field:'talk_ratio',title:'接通率',20,align:'center'} ]] }); </script>