DataTables坚持"处理"排序时

时间:2014-03-19 03:10:46

标签: javascript jquery asp.net datatables jquery-datatables

以下是文档就绪功能

 $('#example').dataTable({
            "bProcessing": true,
            "bServerSide": true,
            "aaSorting": [[2, "asc"]],
            "sAjaxSource": "/userControl/GetUser.php",
            "aoColumnDefs": [{
                "aTargets": [0],
                "mData": "download_link",
                "mRender": function (data, type, full) {
                    return '<a href="/UserDetail.aspx?ID=' + data + '">Detail</a><br/><a href="/UserDetail.aspx?ID=' + data + '">Delete</a>';
                }
            }],
              "aoColumns": [
            { "mData": null },
            { "mData": "LoginId" },
            { "mData": "FirstName" },
            { "mData": "LastName" }
        ]
        });

    var oTable = $('#example').dataTable();

    oTable.fnSort([1, 'asc']);

使用上面的代码,数据表被卡在&#34;处理...&#34;如下面的屏幕显示,但如果我删除排序,数据显示正确,但每当用户请求列进行排序时,结果仍然是相同的,有什么我做错了吗? enter image description here

3 个答案:

答案 0 :(得分:1)

我删除了“bServerSide”:true,DataTables现在可以正确排序和过滤

答案 1 :(得分:0)

您的服务器端实现必须通过iSortCol参数处理排序,使用fnSort用于客户端实现,不适用于服务器端

正如@mainguy在评论中所说,删除bServerSide会禁用分页,而且很可能会搜索

请查看网站上asp.net的示例,就像您标记的lang一样,如果您需要更多帮助,请使用asp.net源代码更新您的问题

答案 2 :(得分:0)

请查看您的服务器响应是否与客户端发送的 ui->tableWidget->setColumnWidth(4, 10);draw 属性具有相同的计数器值。

例如,请求可能包含sEchodraw: 11参数,那么服务器响应必须包含sEcho: 11draw: "11"