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
Envoyé par : Paul Rouget
Date : 25/06/2006 18:25
Comment ça "en fonction" ? Sinon, il y a le DOM.
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... :)
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(..)
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 }
Envoyé par : laurentj
Date : 27/06/2006 12:40
oui c'est ça. sauf
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");
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.