2017-07-11 1 views
0

Ich habe eine jQuery-Datentabelle, die mit Server-Daten wie diese gefüllt wird:jQuery Datatable das Hinzufügen von benutzerdefinierten TR basierend auf zurückgegebenen Daten

"columns": [ 
         { 
          "targets": -1, 
          "data": "ImageURL", 
          "name": "Title", 
          "render": function (data, type, row) { 
           return '<td><div class="tableimage"><img src="' + data + '"/></div></td>'; //'<td><img src=' + data + '></td>'; 
          } 
         }, 
       { 
        "data": "Title", 
        "name": "Title", 
        "render": function (data, type, row) { 

         return '<td>' + data + '</td>'; 
        } 
       }, 
        { 
         "data": "CurrentPrice", 
         "name": "CurrentPrice", 
         "render": function (data, type, row) { 

          return '<td>$ ' + data + '</td>'; 
         } 
      }, 
    ] 

Und das ist in Ordnung, jede Spalte wird wie in meinem Browser erzeugt und gerendert dies:

Jetzt ist meine Frage hier, ob ich eine benutzerdefinierte tr-Tag mit speziell hinzugefügten Klasse generieren kann?

Etwas wie folgt aus:

<tr class="myclassNameGoesHere"> 
</td> 

Ist das machbar über serverseitige Datenverarbeitung & jQuerys Datentabellen?

P.S. Ich habe versucht, so etwas wie dieses:

$(row).addClass("alert-danger"); 
// or        
row.className = "alert-danger"; 

Doch diese beiden gearbeitet ...:/

+0

Jeder Jungs? =) – User987

Antwort

0

Erstens brauchen Sie nicht td-Tags in Renderfunktionen, Datentabellen automatisch erstellt td Tags für Sie zurück.

So

return '<td>' + data + '</td>'; 

würde

return data; 

Nun, Ihre Frage zu beantworten, verwendet createdRow Rückruf von Datentabellen zur Verfügung gestellt.

Wie,

$('#example').dataTable({ 
    "createdRow": function(row, data, dataIndex) { 
     $(row).addClass('alert-danger'); 
    } 
}); 
Verwandte Themen