我已經使用此代碼爲了在每個原始行下使用數據表的fnCreatedRow回調添加額外的行。原始行是正確更新,但額外的行回調後取出...Datatables - 使用fnCreatedRow添加詳細信息行
fnCreatedRow: function(nRow, aData, iDataIndex) {
var $nRow = $(nRow),
$content = $(),
numIndex = 3;
$nRow.find('td').eq(3).html('');
// We add one or multiple sub rows under each row in order to show the accounts details of the client
$.each(aData[3][0], function(e, i) {
if (e === 'profileId') {
return true;
}
$content = $content.add($nRow.clone().find('td').eq(numIndex).html(i).end().end());
++numIndex;
});
$nRow.after($('<tr>').append($content).html());
}
有沒有更合適的回調? 我認爲它的工作原理是,如果我在創建完整個表格後執行這些操作,但是如果插件執行循環...爲什麼不使用它?
我不是唯一一個誰都有這個問題: https://datatables.net/forums/discussion/21354/using-fncreatedrow-to-add-detail-rows-working-but-not
我想補充一點,我檢索JSON包含用於第四列的一個陣列。我使用這個數組來構造這些子箭頭。我認爲它不起作用,因爲Datatables期望一個數組或不同於字符串的東西。
行消失,因爲dataTables不知道它們。你根本無法這樣做。 – davidkonrad
有沒有辦法確保Datatables知道它們?用新信息或其他內容更新內部數據? – mysthiq
是的,使用API - 'table.row.add()'/'table.fnAddRow()',但你也應該考慮@Dontfeed代碼方法與子行。 – davidkonrad