J'ai appliqué un bouton dans mon DataTable qui, au clic, filtre la table de données pour afficher uniquement la ligne cliquée.
l'initialisation de la table est:
var oDatatable = $("#tblDataTable").DataTable({
dom: '<"top"CRTl><"clear">rt<"bottom"ip><"clear">',
columns: [
{ data: 'Message' },
{ data: 'MessageId' },
{ data: null, "defaultContent": "<button id=\"tblRowData\">Click</button>"}
],
"columnDefs": [
{ "visible": false, "targets": 0 }
]
});
et mon événement clic est:
$('#tblDataTable tbody').on('click', 'button', function (event) {
var data = oDataTable.row($(this).parents('tr')).data();
oDataTable
.columns(8)
.search(data['MessageId'])
.draw();
Tout cela fonctionne parfaitement, mais je souhaite maintenant réinitialiser les filtres lorsque toute autre action de la page est effectuée. Par exemple, changer un sélecteur de date/heure.
Comment puis-je vérifier si un filtre de recherche est appliqué au datatable et le supprimer (c'est-à-dire, réinitialiser la table, avant l'événement click).
Peut-être que vous regardez quelque chose comme ceci: http://www.datatables.net/plug-ins/api/fnFilterClear
Vous pouvez effacer la recherche d’une manière très simple:
var table = $('#example').DataTable();
table
.search( '' )
.columns().search( '' )
.draw();
Plus facile
var table = $('#example').DataTable();
table
.search("").draw();