DataTables使用来自JSON的mDataProp和fnRender进行排序

时间:2012-08-23 17:59:35

标签: jquery json sorting datatables

我正在尝试使用mDataPropfnRenderbUseRendered根据ID对列进行排序,但会显示名称。我看到bUseRendered已被弃用,并且API建议使用mDatamRender,但是对于那些我无法在我的列中填充任何数据。这是我的代码有点工作,但不会呈现我想要的东西:

$(document).ready(function() {
oTable = $('#example').dataTable( {
    "sAjaxSource": "source.php",
    "aaSorting": [],
    "aoColumns": [
        { "mDataProp" : "NameID",
           "fnRender" : "Name",
           "bUseRendered": false},
        { "mDataProp" : "Priority"},
        { "mDataProp" : "Action"}
        ]
    } );
} );

这是我尝试使用mData,但这不会填充我的第一列并给我一个错误弹出窗口。

$(document).ready(function() {
oTable = $('#example').dataTable( {
    "sAjaxSource": "source.php",
    "aaSorting": [],
    "aoColumns": [
        { "mData" : "NameID",
           "mRender" : "Name"},
        { "mDataProp" : "Priority"},
        { "mDataProp" : "Action"}
        ]
    } );
} );

有任何想法如何让它显示我的Name,但按NameID排序?

1 个答案:

答案 0 :(得分:4)

$(document).ready(function() {
oTable = $('#example').dataTable( {
    "sAjaxSource": "source.php",
    "aaSorting": [],
    "aoColumns": [
        { "mDataProp" : "NameID",
          "bUseRendered" : false,
          "fnRender" : function(oObj) {
                       return oObj.aData["Name"];
                       }
        },
        { "mDataProp" : "Priority"},
        { "mDataProp" : "Action"}
        ]
    } );
} );