Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# fonction qui ajoute une ligne dans un grid

Envoyé par : bubble83

Date : 25/06/2006 17:44

Bonjour,

je voulais savoir s'il exsitait un moyen pour ajouter une ligne dans un grid en fonction des differents elements que compose celle-ci (checkbox et menulist).

D'avance merci

# Re: fonction qui ajoute une ligne dans un grid

Envoyé par : Paul Rouget

Date : 25/06/2006 18:25

Comment ça "en fonction" ? Sinon, il y a le DOM.

# Re: fonction qui ajoute une ligne dans un grid

Envoyé par : bubble83

Date : 26/06/2006 04:53

Disons je pense que le code va dependre des elements qui composent mon grid non? Sinon si tu pouvais un peu plus expliquer le DOM... :)

# Re: fonction qui ajoute une ligne dans un grid

Envoyé par : Paul Rouget

Date : 26/06/2006 09:11

comment manipuler ton interface graphique XUL en JS: http://xulfr.org/xulplanet/xultu/dom.htm(..)

# Re: fonction qui ajoute une ligne dans un grid

Envoyé par : bubble83

Date : 27/06/2006 09:51

J'ai lu les differents tuto sur cette partie. Je voulais savoir si le code allait ressembler a ca pour supprimer et ajouter une ligne dans un grid (evenement sur les bouttons):

voila le xul:

<button id="addRow-button" label="&SPIR.firewallConfiguration.addRow.label;" oncommand="AddRow("firewallConfiguration-grid")"/>
<button id="deleteRow-button"  label="&SPIR.firewallConfiguration.deleteRow.label;" oncommand="DeleteRow("firewallConfiguration-grid")"/>
<grid id="firewallConfiguration-grid" flex="1">
 <columns>
   <column flex="1"/>
   <splitter/>
   <column flex="3"/>
   <splitter/>
   ...d'autres splitter et column
    </columns>
   <rows>
     <row id="firewallConfiguration-row">
       <checkbox id="firewallConfiguration-deleted-list" default="true"/>
       <menulist id="firewallConfiguration-direction" editable="true">
        <menupopup>
          <menuitem label="In to out"/>
          <menuitem label="Out to in"/>
        </menupopup>
       </menulist>
  ...differentes listbox
    </row>

et le javascript:

function DeleteRow(firewallConfiguration-grid)
{
  var aGrid = document.getElementById("firewallConfiguration-grid"); 
  var state = document.getElementById("firewallConfiguration-deleted-list").checked;
  if (state = 'true')
  {
      removeChild("firewallConfiguration-row")
  }
}
function AddRow(firewallConfiguration-grid)
{
 var aGrid = document.getElementById("firewallConfiguration-grid");
 var row = document.createElement("row");
 row.setAttribute("id","new-rule");
 aGrid.appendChild(row);
 var check = document.createElement("checkbox");
 check.setAttribute("cheked","false");
 var list = document.createElement("listbox");
 document.getElementById(List).appendItem("In to out");
 document.getElementById(List).appendItem("Out to in");
 ...ainsi de suite pour les autres listbox
}

# Re: fonction qui ajoute une ligne dans un grid

Envoyé par : laurentj

Date : 27/06/2006 12:40

oui c'est ça. sauf

  • ce removeChild qui vient de je ne sais où...
  • document.getElementById(List).appendItem("In to out"); List c'est quoi ? ta variable créer juste au dessus ? dans ce cas, c'est faux. getElementById attend une chaine, pas un element dom. je pense que tu as voulu plutôt mettre list.appendItem("In to out");
  • Idem pour ta ligne suivante

# Re: fonction qui ajoute une ligne dans un grid

Envoyé par : bubble83

Date : 28/06/2006 06:14

J'ai trouve le removeChild dans le tutoriel: http://xulfr.org/xulplanet/xultu/dommodify.html

Sinon oui, c'etait list.appendItem("In to out"); que je voulais mettre plutot ;) Par contre, il me met une erreur comme quoi list.appendItem n'est pas une fonction.

Autre chose, si je mets en commentaire la partie pour la creation de menulist, et je laisse pour la partie creation de la checkbox, je n'ais pas d'erreur, il m'affiche bien mon alert, mais il ne me cree rien...

var aGrid = document.getElementById(GridID);
var row = document.createElement("row");
row.setAttribute("id","new-rule");
aGrid.appendChild(row);
var checkdeleted = document.createElement('checkbox');
checkdeleted.setAttribute("cheked","false");
alert ("add1");

# Re: fonction qui ajoute une ligne dans un grid

Envoyé par : laurentj

Date : 28/06/2006 09:51

J'ai trouve le removeChild dans le tutoriel:

oui mais tu ne l'utilises absolument pas comme il est indiqué dans le tuto. Ce que tu as fait avec ce removeChild ne signifie rien du tout.

je n'ais pas d'erreur, il m'affiche bien mon alert, mais il ne me cree rien...

bah si tu n'ajoutes pas ton checkbox crée dans un element existant du document, c'est sûr que ça ne va pas se faire tout seul ;-)

Trouve sur le net des tutoriaux plus précis pour le DOM. DOM est un standard, (et est indépendant de XUL) et est un prérequis indispensable pour se lancer dans XUL (comme pour se lancer dans la construction de page web classique d'ailleurs..). Bref, c'est le B-A-BA.

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.