DataTables ServerSide排序不起作用 - mDataProp

Das*_*Rot 2 sorting ajax jquery server-side datatables

我启用了服务器端处理创建的以下数据表:

$(document).ready(function() {
    oTable = $('#example').dataTable( {
        "bServerSide": True,
        "sAjaxSource": "source.php",
        "aaSorting": [[0,"asc"]],
        "aoColumns": [
            { "mDataProp" : "Name",
               "sType": "string-case" },
            { "mDataProp" : "Priority",
               "sType": "string-case" },
            { "mDataProp" : "Action",
               "sType": "string-case" }
        ]
    } );
} );
Run Code Online (Sandbox Code Playgroud)

名称,优先级和操作都是我想要排序的字符串.每当我点击列标题时,除了重新加载表之外什么都不做.可能是一个愚蠢的问题,但我是否需要在服务器上进行所有排序(使用iSortCol_0和sSortDir_0作为我的标识符)?是否可以对客户端进行排序而不刷新这样的表并实际根据名称进行排序?

dan*_*dan 5

使用bServerSide: trueDataTables时,只会询问适合当前页面的数据.例如,当您进入下一页时,它将要求接下来的10条记录.DataTables无法对客户端进行排序,因为它不知道整个数据集.

如果您只想从ajax源中提取整个数据集,则可以使用该sAjaxSource选项.

$(document).ready(function() {
    $('#example').dataTable( {
        "bProcessing": true,
        "sAjaxSource": '../ajax/sources/arrays.txt'
    } );
} );
Run Code Online (Sandbox Code Playgroud)

示例:http://datatables.net/release-datatables/examples/data_sources/ajax.html