我是JQuery数据表的新手,我试图在加载表时使用自定义样式更改行颜色。这没有任何分页,工作正常。
当我实现分页时,自定义样式仅适用于当前页面。例如,现在我正在刷新页面,数据表停留在第一页,样式仅适用于当前页面。当我点击其他页面(如第2页或第3页)时,样式不适用于其他页面。
而且我使用" fnDrawCallback"生成序列号,在这里我也遇到了同样的问题。我没有得到数字。
请帮我解决这个问题。提前谢谢。
这是我的数据表代码:
var oTable = $('#myDataTable').dataTable({
"bDestroy": true,
"bProcessing": true,
"sAjaxSource": '@Url.Action("GetReportDetails", "DailyReport")',
"bVisible": true,
"bDeferRender": true,
"bPaginate": true,
"bLengthChange": false,
"bFilter": true,
"bStateSave": true,
"sPaginationType": "full_numbers",
"iDisplayLength": 10,
"fnDrawCallback": function (oSettings) {
if (oSettings.bSorted || oSettings.bFiltered) {
for (var i = 0, iLen = oSettings.aiDisplay.length; i < iLen; i++) {
$('td:eq(0)', oSettings.aoData[oSettings.aiDisplay[i]].nTr).html(i + 1);
}
}
},
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [0] }
],
"aoColumns": [
{ "mData": null, align: 'Center', sWidth: '2%' },
{ "mData": "DailyReport", align: 'left', sWidth: '18%', "bVisible": false, "mRender": function (data, type, full) { return "<div class='scrollcol' width='80%'>" + data + "</div>"; } },
{ "mData": "CreatedOn", align: 'left', sWidth: '10%', "mRender": function (data, type, full) {
if (full.CreatedBy != '@Session["UserId"]') {
if (full.ReptMgr1 == '@Session["UserId"]') {
if (full.RptDisp1 == true) {
$('#Dly' + full.DReportId).css('background', '#C2E0FF');
}
} else if (full.ReptMgr2 == '@Session["UserId"]') {
if (full.RptDisp2 == true) {
$('#Dly' + full.DReportId).css('background', '#C2E0FF');
}
}
}
}
},
],
"fnRowCallback": function (nRow, aData, iDisplayIndex) {
var dReptId = aData.DReportId;
$(nRow).attr("id", 'Dly' + dReptId);
$(nRow).on('click', function () {
var dReportId = aData.DReportId;
document.getElementById('reportId').value = dReportId;
});
}