Właściciel naszego produktu chciałby, aby nasze puste tabele wyświetlały nagłówek tabeli tylko wtedy, gdy nie ma danych w tabeli. Nie mogę zapobiec tworzeniu rekordów przez komunikat z pustym tekstem.Jak mogę zapobiec dodaniu wtyczki jquery dataTable do wiadomości i wiersza, gdy brak danych?
Oto kod, którego używam do inicjalizacji tabeli dataTable. Wiem, że niektóre rzeczy tutaj są złe. Eksperymentowałem. :)
$('#InBox').dataTable({
"bFilter": false,
"bPaginate": false,
"bLengthChange": false,
"bInfo": false,
"oLanguage": {
"sEmptyTable": '',
"sInfoEmpty": ''
}
});
Oto kod, który próbowałem wstawić do funkcji init w klasie dataTable, ale nie wiem, jak go uruchomić.
/* Table is empty - create a row with an empty message in it */
var anRows[0] = document.createElement('tr');
if (typeof oSettings.asStripClasses[0] != 'undefined') {
anRows[0].className = oSettings.asStripClasses[0];
}
var nTd = document.createElement('td');
nTd.setAttribute('valign', "top");
nTd.colSpan = oSettings.aoColumns.length;
nTd.className = oSettings.oClasses.sRowEmpty;
if (oSettings.fnRecordsTotal() > 0) {
if (oSettings.oLanguage.sZeroFilterRecords.indexOf("_MAX_") != -1)
oSettings.oLanguage.sZeroFilterRecords = oSettings.oLanguage.sZeroFilterRecords.replace("_MAX_", oSettings.fnRecordsTotal());
nTd.innerHTML = oSettings.oLanguage.sZeroFilterRecords;
} else {
nTd.innerHTML = oSettings.oLanguage.sZeroRecords;
}
anRows[iRowCount].appendChild(nTd);
Dan
Mój cel nie wyświetla żadnego komunikatu, gdy tabela jest pusta. Wolałbym, aby rząd nie był tworzony. Mam przycisk, który dodaje wiersze do dataTable. Po prostu muszę dodać logikę, aby usunąć wiersz "dataTables_empty" przed dodaniem nowych wierszy. Użyłem Twojego kodu. Po prostu ustawiam puste cytaty, aby ich nie było. Zaznaczę twoją odpowiedź jako odpowiedź, jeśli bardziej elegancki sposób nie zostanie przedstawiony. Dzięki za pomoc. – dcary
Drugi sposób to praca dla mnie. Dzięki – YeeKhin