数据表:自定义类型

时间:2011-08-11 13:22:24

标签: jquery html datatables

我在使用jquery.datatables.js为数据表创建自定义类型时遇到了一些问题。

我的表初始化如下所示:

    drawTable['#<?= $tab ?>'] = function() {
                    $('#sites_<?= $tab ?>').dataTable({
                    'iDisplayLength' : 25,
                    'aaSorting': [[5, 'desc']],
                    'aLengthMenu': [[25, 50, 100, -1], [25, 50, 100, 'All']],
                    'aoColumns' : [
                        {'sType' : 'formatted-num'},
                        null,
                        null,
                        null,
                        {'sType' : 'formatted-num'},
                        {'sType' : 'formatted-num'},
                        {'sType' : 'formatted-num'},
                        {'sType' : 'formatted-num'},
                        {'sType' : 'formatted-num'},
                        {'sType' : 'formatted-num'}
                    ]
                })
};

然后:

$(document).ready(function() {
                drawTable['#<?= $tab ?>']();
                drawnTable['#<?= $tab ?>'] = true;
            });

$ tab是从服务器中选择一些值。

这适用于自定义类型,但我需要创建自己的类型。我该怎么办?我一直在阅读这里的一些示例:http://www.datatables.net/plug-ins/type-detection但是所有这些示例似乎都是针对仅以$(document).ready(function() { $('#example').dataTable(); } );

开头的表格完成的

不确定如何在我的一个列中实现至少其中一个,如果我至少可以这样做,我会编写自己的函数。谢谢!

1 个答案:

答案 0 :(得分:3)

这是如何完成的:

    jQuery.fn.dataTableExt.oSort['num-html-asc']  = function(a,b) {
    a = ;//changes to remove html signs
    b = ;//same as above
    return ((a < b) ? -1 : ((a > b) ?  1 : 0));
};

jQuery.fn.dataTableExt.oSort['num-html-desc'] = function(a,b) {
    a = ;//changes to remove html signs
    b = ;//same as above
    return ((a < b) ? 1 : ((a > b) ?  -1 : 0));
};

在包含datatables.js之后但在初始化之前包含该函数。然后在需要使用

的列中
{'sType' : 'num-html'},

就是这样。