rowcallback example createdrow columndefs javascript jquery datatables

javascript - example - find datatable jquery



jQuery datatables agregar clase a tr (4)

Estoy usando jQuery y datatables. Quiero agregar una clase al elemento TR de una fila en particular. Sé cómo encontrar la fila. La console.dir(row); muestra el objeto row y comienza con un elemento tr . No puedo conseguir que el selector jQuery haga nada. ¿Qué me estoy perdiendo?

table = $(''#resultTable'').DataTable({ aaSorting: [], ajax: {...}, columnDefs: [...], createdRow: function (row, data, index) { // // if the second column cell is blank apply special formatting // if (data[1] == "") { console.dir(row); $(''tr'', row).addClass(''label-warning''); } } });


Situación DataTable (). Row.add ():

Si desea agregar una clase al usar la función de agregar filas en Datatables, puede obtener el método TR-DOM desde el node() :

var datatable = $(''#resultTable'').DataTable(); var trDOM = datatable.row.add( [ "Col-1", "Col-2" ] ).draw().node(); $( trDOM ).addClass(''myClass'');


Solo deberías usar el createdRow

`

$(''#data-table'').DataTable( { createdRow: function( row, data, dataIndex ) { // Set the data-status attribute, and add a class $( row ).find(''td:eq(0)'') .attr(''data-status'', data.status ? ''locked'' : ''unlocked'') .addClass(''asset-context box''); } } );

`


También puede agregar clase a tr pasando los datos json que envíe a datatable. Es suficiente que cada elemento json tenga DT_RowClass .
Por ejemplo:

{ DT_RowAttr = new { attr1 = "1", attr2 = "2" } DT_RowClass = "majid", DT_RowId = "rowId" }

En este ejemplo, el valor DT_RowId aplica al atributo id de cualquier etiqueta tr y el valor DT_RowAttr aplica algún atributo personalizado a la etiqueta tr .


$(''tr'', row) está buscando un elemento tr en el contexto de la fila, lo que significa que buscará un elemento tr dentro de la row proporcionada como parámetro de contexto.

Según API , esto debería funcionar

$(row).addClass("label-warning");