Bonsoir,
Après qques errements concernant une CheckBox dans un Datagrid ( autre post ), je suis confronté à des difficultés au sujet de la valeur d'un Button.
Pour la CheckBox, j'ai obtenu un fonctionnement correct pour la structure suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
    var layoutVisuels = [
......
   { field: 'mod', name: 'Sélection', width: '100px', styles: 'text-align: center;', editable: true, type: dojox.grid.cells.Bool}
];
Par contre, avec le code ci-dessous, j'ai eu des anomalies concernant la cellule :
{ field: 'mod', name: 'Sélection', width: '100px', styles: 'text-align: center;', editable: true, type: dijit.form.CheckBox} //plante!
{ field: 'mod', name: 'Sélection', width: '100px', styles: 'text-align: center;', editable: true, type: dojox.grid.cells.CheckBox} // valeur du jsonStore : [true,false]
De même en écrivant une fonction renvoyant une CheckBox :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
function casacocher() {
    var chkb = new dojox.grid.cells.CheckBox({
        editable: true
    });
return chkb;
}
 
function casacocher1() {
    var chkb = new dijit.form.CheckBox({
        editable: true
    });
return chkb;
}
{ field: 'mod', name: 'Sélection', width: '100px', styles: 'text-align: center;', formatter: casacocher} // [object Object]
{ field: 'mod', name: 'Selection', width: '100px', formatter: casacocher1} // [Widget ....
J'ai des comportements similaires lors de la construction d'un bouton :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function myBouton() {
    mybouton = new dijit.form.Button({label: "MODIFIER"});
    return mybouton;
}
avec les différents essais pour la structure et les valeurs affichées dans la cellule :

{ field: 'mod', name: 'Modification', width: '100px', formatter: myBouton} // [Widget dijit.form.Button, dijit_form_Button_xx]
{ field: 'mod', name: 'Modification', width: '100px', dojoType: dijit.form.Button, formatter: myBouton} // [Widget ....]
{ field: 'mod', name: 'Modification', width: '100px', type: dijit.form.Button, label: 'MODIFIER'} // plante
{ field: 'mod', name: 'Modification', width: '100px', dojoType: dijit.form.Button, label: 'MODIFIER'} // valeur du jsonStore [ 1...n ]
{ field: 'mod', name: 'Modification', width: '100px', dojoType: dijit.form.Button, label: 'MODIFIER', onClick:'javascript:modif();'} // valeur du jsonStore [ 1...n ]
Le seul cas de visualisation correct correspondant à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
function myBouton1() {
    var mybouton = '<button onClick="javascript:modif();">MODIFIER-1</button>';
    return mybouton;
}
 
{ field: 'mod', name: 'Modification', width: '100px', formatter: myBouton1}
Mais là, le problème est qu'aucune valeur n'est affectée au bouton !!
L'objet de ces essais étant de récupérer la valeur associée au bouton ou l'un des champs de la ligne afin d'indexer les données qui seront fournies avec la nouvelle page.
Dans certaines des configurations porteuses d'anomalies, l'introduction de onClick: modif() conduisait à l'éxécution de la fonction modif() lors de la construction de la page.
Des indications et des pistes à explorer seraient les bienvenues !!!!