Reloading Datatables after signalR response
Reloading Datatables after signalR response
dezeaz
Posts: 7Questions: 5Answers: 0
Hi, I have a datatable and i highlight rows by colouring them using the "createdRow" option based on a condition.
var tasks = JSON.parse(localStorage.getItem('syncedTasks'));
var table = $('#table_buttons').DataTable({
"ajax": {
"url": "/api/v1/button/" + module,
"dataSrc": "",
'beforeSend': function (request) {
request.setRequestHeader("Authorization", 'Bearer ' + localStorage.getItem('accessGSMToken'));
},
"statusCode": {
401: function (xhr, error, thrown) {
window.location.href = "Index.html"
return false
}
}
},
"language": {
"emptyTable": "No buttons found, please add a button.",
"search": "_INPUT_",
"searchPlaceholder": " Search..."
},
"lengthChange": true,
"pageLength": 25,
"lengthMenu": [[5, 10, 25, 50, 100, -1], [5, 10, 25, 50, 100, "All"]],
"order": [[1, "asc"]],
"createdRow": function (row, data, dataIndex) {
console.log(data);
if ((tasks[site].module[module].Buttons).includes(data.uniqueId)) {
$(row).css('background-color', "#a3d3c2");
}
},
"rowId": 'id',
"dom": "<'row'<'col-sm-12 col-md-6 AddBtn'><'col-sm-12 col-md-2'><'col-sm-12 col-md-2'l><'col-sm-12 col-md-2'f>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
"paging": true,
"order": [[0, "asc"]],
"columns": [
{ data: 'uniqueId' },
{ data: 'apt' },
{ data: 'tel' },
{ data: 'div1' },
{ data: 'div2' },
{ data: 'div3' },
{ data: 'name' },
{ data: 'code' },
{ data: 'dto' },
{ data: 'timeBand' },
]
});
I'm using a SignalR rouytine to update the localstorage and to reload the table:
localStorage.setItem('syncedTasks', JSON.stringify(obj));
$('#table_buttons').DataTable().ajax.reload();
Is there any way i can refresh the variable tasks with the updated localstorage info so it is available in the "createdRow" option.
Thanks
Aaron
This discussion has been closed.
Answers
Maybe something like this will work:
Kevin