Grid: cocher une case et décocher les autres
Bonjour,
S'il vous plait, j'ai une grid dojo qui contient des cellules de type cellType="dojox.grid.cells.Bool", quand je coche une case à cocher d'une cellule je veux que tous les autres case à cocher qui se trouvent dans les autres lignes seront décochés automatiquement.
Sachant que je travaille sous dojo 1.4 et quand j'utilise le 1.3 ça marche sans problème.
Voilà la fonction qui permet de charger le grid :
Code:
1 2 3 4 5 6 7 8 9 10
|
function verifGridFiche()
{
dijit.byId('fich').onDownloadEnd = function() {
dojo.connect(gridStore, "onSet", function (item, attribute, oldValue
, newValue) {
etatGridFiche(item,attribute,newValue,oldValue);
});
}
} |
et voilà le code qui permet de rendre le checkBox comme un radionBouton
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
function etatGridFiche(item,attribute,newValue,oldValue)
{
doc = document.getElementById("doc").value;
var j = 0 ;
if (champ == 'radiobouton' && attribute == 'couleur') {
if (newValue != oldValue) {
function gotVal(items, request){
if (newValue == true ) {
for (var i = 0; i < items.length; i++) {
//recuperation des valeurs
if (item != items[i]) {
grid.store.setValue(items[i], "clear",
false);
}
}
} else {
for (var i = 0; i < items.length; i++) {
//recuperation des valeurs
if (grid.store.getValue(items[i], "clear")
== true)
j = j + 1
}
}
if (j == 0 && newValue == false) {
alert ("au moin une option doit etre " +
"selectonné par defaut !");
grid.store.setValue(item, "clear", true);
}
}
grid.store.fetch({query: {}, onComplete: gotVal});
}
}
} |
Voilà le code html du grid
Merci Emmanuel pour ta réponse, et voilà le code HTML:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
<span dojoType="dojo.data.ItemFileWriteStore"
data='<?php echo htmlentities($this->donneeGrid, ENT_QUOTES) ?> '
jsid="gridStore">
</span>
<table dojoType="dojox.grid.DataGrid" store="gridStore" jsid="grid"
id="idgrid" style="width: 60em; height: 20em;" rowSelector="20px"
clientSort="true">
<thead>
<tr>
<th field="valeur" width="150px" editable="true">Valeurs</th>
<th field="couleur" width="150px" cellType="dojox.grid.cells.Bool"
editable="true">Couleur
</th>
</tr>
</thead>
</table> |
Checbox marche bien sur le grid
Merci beaucoup Emmanuel de m'avoir répondu et pour le temps que tu m'as sacrifié,
Enfin, j'ai trouvé la solution juste en remplçant cellType="dojox.grid.cells.Bool par :
cellType="dojox.grid.cells.checkbox.
;)