Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 2015
-
29 juin 2007 à 16:48
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 2015
-
2 juil. 2007 à 10:14
Bonjour,
Je voudrais savoir si quelqu'un pourrait m'aider à optimiser mon algo d'ajout d'une ligne dans un tableau. Mon algo marche pour un tableau qui contient 2 colonnes. Le problème est que dès lors que je dépasse 2 colonnes dans mon tableau, alors dans la ligne ajoutée, la dernière cellule n'apparaît pas.
Dans ma fonction addRow(pos), je lui passe en paramètre la position à laquelle je veux insérer ma ligne dans le tableau sélectionné. Voici ma fonction, en espérant que quelqu'un pourra m'aider à régler ce problème.
function addRow(pos)
{
if (document.selection.type == 'Control')
{
range=document.selection.createRange(); if (range.length 1 && (range(0).tagName 'TABLE' || range(0).tagName == 'table'))
{
var oldId=range(0).id;
range(0).id="tableNow";
var tbl = document.getElementById('tableNow');
}
}
var row = tbl.insertRow(pos);
var cellLeft = row.insertCell(0);
range(0).id=oldId;
//Ajout d'une cellule de droite
var cellRight = row.insertCell();
}
Jarod_Delaware
A voir également:
Demande aide pour optimiser algo insertion cellule tableau
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 2 juil. 2007 à 09:55
je ne vois nulle part que tu insères plusieurs colonnes.
ch'tit exemple ?
<script type="text/javascript">
var lig,tb=document.getElementById("tb1");
for ( var l=0;l<5;l++ )
{ lig=tb.insertRow(l);
for ( var c=0;c<5;c++ )
{ lig.insertCell(lig.cells.length).innerHTML="L"+l+"C"+c; }
}
</script>
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 20152 2 juil. 2007 à 09:46
Salut Bultez,
Merci pour ta réponse. J'ai essayé la ligne de code que tu m'as posté mais ça marche pas. Lorsque je veux insérer une ligne supplémentaire à mon tableau, il insére qu'une seule cellule sur la ligne entière. Est ce que tu pourrais m'aider, je vois pas mon erreur.
function addRow(pos)
{
if (document.selection.type == 'Control')
{
range=document.selection.createRange(); if (range.length 1 && (range(0).tagName 'TABLE' || range(0).tagName == 'table'))
{
var oldId=range(0).id;
range(0).id="tableNow";
var tbl = document.getElementById('tableNow');
}
}
var row = tbl.insertRow(pos);
var cellLeft = row.insertCell(0);
range(0).id=oldId;
//Ajout d'une cellule de droite
//var cellRight = row.insertCell();
//row.insertCell(row.cells.length).innerHTML=(tbl.rows.length-1);
var lig=tbl.insertRow(pos); // insère une ligne
var col=lig.insertCell(lig.cells.length); // insère une colonne en fin
}
Jarod1980
Messages postés273Date d'inscriptionsamedi 5 juillet 2003StatutMembreDernière intervention31 mars 20152 2 juil. 2007 à 10:14
Merci beaucoup pour ton exemple et ton aide. Je me suis inspiré de ton tutorial sur la manipulation des tableaux et de ton petit exemple. Du coups ça marche maintenant, ça insère bien la ligne avec toutes les cellules à l'endroit voulu
var l = tbl.insertRow(pos);
l.insertCell(l.cells.length).innerHTML=(tbl.rows.length-1);
for (var c=1;c<tbl.rows[0].cells.length;c++) //.. ajouter les colonnes ..
{
l.insertCell(l.cells.length).innerHTML=(tbl.rows.length-1);
}
Merci énormément pour ton aide. Qu'est ce je ferais sans toi , lol.