2

私はデータテーブル(http://datatables.net/)を初めて使用します。私のajax呼び出しの結果からの計算に基づいて列を追加する必要があります。以下のアプローチを試みましたが、「datatable Requested unknown parameter from the data source for row」というエラーが発生しました。これは、この種の要件に対する正しいアプローチですか。この点について、ご協力をお願いいたします。テーブル構造は次のようになります。

<table id="result" class="show_hide">
    <thead>
        <tr>
            <th>Time1</th>
            <th>Time2</th>
            <th>Elapsed Time</th>
        </tr>
    </thead>
    <tbody>
    </tbody>
</table>

私のajax呼び出しからのサンプル出力は次のとおりです。

[{
    "time1": 12345,
    "time2": 56789
},  
{
        "time1": 2000,
        "time2": 3000
}]

これは私がデータテーブルで試していることです

$('#result').dataTable({
        "sAjaxSource": "http://" + hostname + ":" + port + api,
        "sAjaxDataProp": "",
        "iDisplayLength": 25,
        "bRetrieve": true,
        "sPaginationType": "full_numbers",
        "aoColumns": [{
            "mDataProp": "time1"
        },
        {
            "mDataProp": "time2"
        },
       {
            "mRender": function(data, type, row) {

                return (row.time2 - row.time1);
            },
            "mDataProp": null
       }
    ]
    });
4

2 に答える 2

0

サーバーからのドキュメントでわかるように、いくつかの必要なプロパティを持つオブジェクトを返す必要があります。

したがって、次のようなものを返す必要があります

{ iTotalRecords : 2, iTotalDisplayRecords: 2, aaData: [{
    "time1": 12345,
    "time2": 56789
},  
{
        "time1": 2000,
        "time2": 3000
}] 
}
于 2012-09-30T23:29:36.643 に答える
0

戻りオブジェクトに追加のプロパティは必要ないと思います....問題がわかりました。jquery datatable 1.9.0 を使用していましたが、mRender のこの機能は 1.9.4 で動作します。js をアップグレードすると、このコードは 1.9.4 で魅力的に機能します。

于 2012-10-01T23:58:25.397 に答える