Bjr,
J'ai un tableau de 5 lignes 7 colonnes :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <table id="tab" style="width:600px;height:250px" title="Supervision Data" >
<thead>
<tr>
<th id="al1" width="80">AL-1</th>
<th id="al2" width="80">AL-2</th>
<th id="al3" width="80" align="right">AL-3</th>
<th id="puv" width="80" align="right">Pu-V</th>
<th id="puu" width="80">Pu-U</th>
<th id="temp" width="80" align="center">Temp</th>
<th id="secteur" width="100" align="center">Secteur</th>
</tr>
</thead>
<tbody>
<tr>
<td>12.0</td>
<td>13.0</td>
.....
</tbody> |
Toutes les x secondes, une requête Ajax me permet de récupérer une ligne au format JSON :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
function callWebService(callbackRes) { // ici callbackRes : updateRow()
var data = {}
data["method"] = "getrow";
$.ajax({
....
data : data,
complete : function(xhr, result){
if (result != "success") {
alert("Alerte != success");
} else {
console.log("Retour WS: xhr = " + xhr.responseText);
callbackRes((jQuery.parseJSON(xhr.responseText)).resultat);
}
}
});
} |
Et le format du fichier JSON récupéré :
xhr = {"resultat":{"al1:"12.0","al2":"12.8","al3":"15.2","puv":"5.6","puu":"8.1","secteur":"absent","temp":"25"},"error":null,"exception":null}
Avec une fonction de callback updateRow() qui va faire le traitement pour la mise à jour du tableau.
La ligne obtenue est insérée en fin de tableau à la 5ème ligne: pour ce faire avant l'insertion, la 1ère ligne est supprimée et les lignes 2 à 5 sont translatées d'une unité vers le haut du tableau.
D'où mes questions :
- pour ces manipulations sur une table, faut-il passer par un plugin (jqxgrid/flexigrid) ou jQuery permet-il de le faire directement?
- comment récupérer une ligne de la table?
- Comment affecter le retour Ajax à la 5ème ligne?
Merci de m'indiquer des pistes afin que j'évite de me fourvoyer.
Partager