Ne pouvez pas définir la ligne de classe dans les tables de données
Je suis à l'aide de tables de données avec PHP et MySQL avec d'excellents résultats, mais je vais avoir beaucoup de problèmes de la configuration de l'classes de la ligne.
Ma table SQL une colonne nommée "class_style", qui contiennent certaines valeurs comme "blue_class", "green_class", "red_class", ...
Mon objectif est de déclarer le nom de cette classe sur chaque ligne de résultats, donc je peux (par exemple) voir "red_class" lignes avec le fond rouge, quelque chose comme cet exemple http://www.datatables.net/release-datatables/examples/basic_init/zero_config.html où la apparaîtront en rouge.
Le code que j'ai pensé de travail est la suivante:
echo "<tbody>";
for($i=0; $i < $number_of_results; $i++){
echo "<tr class='" . mysql_result($result, $i, 'class_style') . "'>";;
echo "<td>" . mysql_result($result, $i, 'family_name') . "</td>";
echo "<td>" . mysql_result($result, $i, 'team') . "</td>";
echo "</tr>";
};
echo "</tbody>";
quand j'ouvre la page avec le navigateur de chaque ligne de la table est montré avec la classe suivante:
<tr class='odd'>
<tr class='even'>
Même si j'utilise de moins en moins automatisée des solutions telles que les suivantes
echo "<tbody>";
for($i=0; $i < $number_of_results; $i++){
echo "<tr class='my_class'>";;
echo "<td>" . mysql_result($result, $i, 'family_name') . "</td>";
echo "<td>" . mysql_result($result, $i, 'team') . "</td>";
echo "</tr>";
};
echo "</tbody>";
toutes les classes s'y sont
<tr class='my_class odd'>
<tr class='my_class even'>
comment pourrais-je obtenir une solution à ce problème? J'aimerais atteindre les résultats suivants:
<tr class='green_class'>
<td>Smith</td>
<td>the Duck</td>
</tr>
<tr class='red_class'>
<td>Jackbson</td>
<td>Big great team</td>
</tr>
<tr class='green_class'>
<td>Awaiters</td>
<td>the flowers</td>
</tr>
Vous devez vous connecter pour publier un commentaire.
On dirait que vous êtes rendu de la table sur le côté serveur et ensuite l'envoyer vers le côté client, après laquelle vous appelez DataTables sur elle. Est-ce exact?
Une approche alternative serait d'utiliser des tables de données dans "traitement côté serveur" mode, ce qui signifie que le serveur n'enverrons en retour JSON des données pour le "page". Ou si votre source de données n'est pas particulièrement grand, vous pouvez simplement utiliser Ajax source (qui doit aussi de retour JSON, mais l'ensemble du jeu de données). Ensuite, vous pourriez le style des lignes à l'aide de la fnRowCallback fonction [edit: maintenant, tout simplement appelé "rowCallback" de 1.10]. Vous prenez le nom de classe de l'ensemble de données, et l'ajouter à la ligne à l'aide de jQuery.
Quelque chose comme ceci:
Comme un complètement de côté pédant que vous pouvez ignorer (car il vient de me piquer mon nez où il n'était pas invité), à l'aide de couleur classes n'est probablement pas optimale à long terme de la décision. Je suppose que "rouge", "vert", etc tous correspondent à une sorte d'état de l'enregistrement individuel. Peut-être "vert" signifie "actuellement active" ou quelque chose comme ça. Vous devriez utiliser des classes qui reflètent le but plutôt que l'apparence, parce qu'un jour, vous pourriez décider que "violet" est en fait un meilleur choix de couleur pour représenter les "actuellement active" (ou autre).
vérifier que le document est ici:
https://datatables.net/reference/option/createdRow
- je résoudre cette question comme ceci:
Définir la valeur par défaut des classes avant.
$.fn.dataTableExt.oStdClasses.sStripeOdd = ";
$.fn.dataTableExt.oStdClasses.sStripeEven = ";
Pour plus de références, voir ici
http://www.datatables.net/styling/custom_classes
Si vous avez ajouté de ligne et vous avez besoin d'ajouter classe unique pour cette ligne
Et le résultat
Vous devez le configurer pour une utilisation côté serveur de traitement de numéro un. Une fois cela fait, vous pouvez spécifier dans votre JSON ou tableau PHP en ce que le nom de la classe de la ligne doit être à l'aide de DataTable propre format:
C'est tiré directement à partir de leur forum:
http://datatables.net/forums/discussion/7100/dt-rowid-and-rowclass
essayer