これを達成するためにできることは、テーブルを動的に構築し、これをデータテーブルに送信することです。
次の例では、Json が jQuery Ajax 呼び出しで返され、応答に複数の項目があると想定しています。
$.ajax({
type: "POST",
url: "Controller Url",
contentType: "application/json; charset=utf-8",
dataType: "json",
...
...
success: function (response) {
// Assuming you need to parse, you may not need to depending on how the data is returned.
var parsedJson = $.parseJSON(response);
// Empty var to hold the table content.
var buildTable = "";
$.each(parsedJson, function(i)) {
buildTable += "<tr>";
buildTable += "<td>" + parsedJson[i].buzz + "</td>";
buildTable += "<td>" + parsedJson[i].attributeValue.name + "</td>";
buildTable += "<td>" + parsedJson[i].id + "</td>";
buildTable += "</tr>";
});
// Now fill your datatable with the table content in the order you want and with only the fields required.
$("#datatableContent").append(buildTable);
// Configure your datatable
$('#datatableContent').dataTable({ });
} //end success
});// end ajax
ビューには次のものが含まれます。
<table id="datatableContent">
<thead>
<tr>
<th>Buzz</th>
<th>Name</th>
<th>ID</th>
</tr>
</thead>
<tbody>
</tbody>
心に留めておくべきことの 1 つ$('#datatableContent').dataTable({ });
は、ajax 呼び出しの成功に構成部分を配置した場合に問題が発生したことです。成功のラインの後に地雷を配置しましたが、$("#datatableContent").append(buildTable);
毎回完璧に機能します。