easyUI 自定義排序datagrid


@author YHC

如果默認的排序行為不滿足你的需求,你可以自定義datagrid排序行為.


最基礎的用戶可以定義一個排序函數,函數名是sorter 在列上,這個函數將接受兩個值和返回值將作為如下:

valueA > valueB => return 1

valueA < valueB => return -1

自定義排序代碼

<table id="tt"></table>  

$('#tt').datagrid({  
    title:'Custom Sort',  
    iconCls:'icon-ok',  
    width:520,  
    height:250,  
    singleSelect:true,  
    remoteSort:false,  
    columns:[[  
        {field:'itemid',title:'Item ID',width:60,sortable:true},  
        {field:'listprice',title:'List Price',width:70,align:'right',sortable:true},  
        {field:'unitcost',title:'Unit Cost',width:70,align:'right',sortable:true},  
        {field:'attr1',title:'Attribute',width:120,sortable:true},  
        {field:'date',title:'Date',width:80,sortable:true,align:'center',  
            sorter:function(a,b){  
                a = a.split('/');  
                b = b.split('/');  
                if (a[2] == b[2]){  
                    if (a[0] == b[0]){  
                        return (a[1]>b[1]?1:-1);  
                    } else {  
                        return (a[0]>b[0]?1:-1);  
                    }  
                } else {  
                    return (a[2]>b[2]?1:-1);  
                }  
            }  
        },  
        {field:'status',title:'Status',width:40,align:'center'}  
    ]]  
}).datagrid('loadData', data);  
你可以從這段代碼中看到,我們為date列創建了自定義的 sorter ,日期的格式是 'dd/mm/yyyy' ,可以輕松的按年月日排序.

下載 EasyUI示例代碼:








免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM