-2
我有jquery數據表並希望根據單元格內容設置樣式屬性(顏色和背景顏色)。 表非常動態地更改,所以每次更改單元格內容時我都無法重新繪製整個表格。JQuery datatable根據內容更改單元格樣式而不重繪整個表
有沒有辦法做到這一點?
我考慮過使用column rendering,每調用一次單元就可以控制數據顯示,但我不確定這是最好的方法。另外渲染回調獲取單元格數據而不是td。
謝謝!
當從rowDrawCallback調用我用:
"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
if (!aData || aData.length == 0) return;
if(columns.indexOf(INDEX_STAT) >= 0) {
var state = aData[INDEX_STAT].state;
var exitCode = aData[INDEX_STAT].exitCode;
var statIndex = columns.indexOf(INDEX_STAT);
var statSelector = $('td', nRow).eq(statIndex);
if (!state)
log("undef state");
ResultsModule.updateStatusCellInfo(statSelector, state, exitCode);
}
}
var ResultsModule = {
updateStatusCellInfo: function(selector, state, exitCode){
var mapper = ResultsModule.getTestResults(state, exitCode).map;
var currentStatusString = mapper.status;
var currentStatusColor = mapper.color;
var currentStatusBgColor = mapper.bgcolor;
if (currentStatusString) selector.text(currentStatusString); // updating status as text
else selector.text(Status.None);
if (currentStatusColor) selector.css('color',currentStatusColor); // seting status color from mapper
if (currentStatusBgColor) selector.css('background-color',currentStatusBgColor); // seting status color from mapper
}
}
CSS中的任何更改都是重繪。 – zer00ne
的確,但我想避免重新繪製WHOLE表,並重新繪製特定的單元\ raw只。尋找一種方法來做到這一點。 –
您需要提供[mcve],因爲每種情況都有特定的問題,需要考慮的情況過多。這是發佈問題必須承擔的責任。 – zer00ne