8

我在我的应用程序中使用Angular DataTables。到目前为止一切正常,除非我尝试添加自定义排序。

我有一组数据返回连字符,如果没有数据,则返回“-”。这是我的排序功能::

$.fn.dataTableExt.oSort['nullable-asc'] = function(a,b) {

    if (a == '-')
        return 1;
    else if (b == '-')
        return -1;
    else
    {
        var ia = parseInt(a);
        var ib = parseInt(b);
        return (ia<ib) ? -1 : ((ia > ib) ? 1 : 0);
    }
}

$.fn.dataTableExt.oSort['nullable-desc'] = function(a,b) {
console.log(a,b)
    if (a == '-')
        return 1;
    else if (b == '-')
        return -1;
    else
    {
        var ia = parseInt(a);
        var ib = parseInt(b);
        return (ia>ib) ? -1 : ((ia < ib) ? 1 : 0);
    }
}

..start controller...

    vm.dtColumnDefs = [
        DTColumnDefBuilder.newColumnDef(0).notSortable().withClass('hidden-print')
        DTColumnDefBuilder.newColumnDef(1).withClass('td-fieldname'), //name
        DTColumnDefBuilder.newColumnDef(2), //fieldType
        DTColumnDefBuilder.newColumnDef(3).withOption('type', 'html-num-fmt'),
        DTColumnDefBuilder.newColumnDef(4).notSortable(), //distribution
        DTColumnDefBuilder.newColumnDef(5).withOption('type', 'html-num-fmt'), //cardinality
        DTColumnDefBuilder.newColumnDef(6).withOption('type', 'nullable'), //Min
        DTColumnDefBuilder.newColumnDef(7).withOption('type', 'nullable') //Max
    ];

...other angular code..... 

这在标准桌子上尝试时效果很好,但在 Angular 应用程序中效果不佳。

当我单击表格标题进行排序时 - 没有任何反应。console.log以上产生空白值。有没有办法通过 Angular 指令使用自定义排序?

4

0 回答 0