3 votes

Comment afficher une case à cocher dans une datagrid de dojo ?

Comment afficher une case à cocher dans une grille de données de Dojo ?

8voto

Herbert Points 641

Je suggérerais de définir cellType sur dojox.grid.cells.Bool, au lieu du formatter. Le formatter vous donne beaucoup de liberté, mais aussi la responsabilité de rassembler les données de toutes les cases à cocher (pour toutes les lignes) par la suite. Quelque chose comme ceci en tant qu'entrée de structure devrait faire l'affaire:

{
   name: "est génial?",
   width: "auto",
   styles: "text-align: center",
   type: dojox.grid.cells.Bool, editable: true
}

Veuillez vous assurer d'utiliser un magasin d'écriture (comme ItemFileWriteStore) et non seulement un magasin de lecture, sinon vous ne pourrez pas réellement cocher la case à cocher :)

3voto

Naktibalda Points 3896

Utilisez la fonction formatter comme décrit dans Widgets Inside dojo.DataGrid
Vous pouvez retourner un nouveau dijit.form.Checkbox à partir de la fonction formatter dans dojo 1.4

2voto

vikasrao Points 33

Vous avez besoin du plugin IndirectSelection pour EnhancedGrid, voici un fiddle: http://jsfiddle.net/raybr/w3XpA/5/

1voto

Sujeet Points 35

Vous pouvez utiliser quelque chose comme ceci, avec Json

HTML

                showFields();

DOJO

    showFields:function () {
        dojo.xhrPost({
            url:"/getFields.do",
            timeout:2000,
            handleAs:"json",
            load:dojo.hitch(this, "displayInGrid")
        });
    },

    displayInGrid:function (jsonResult) {
        var dataStore = new dojo.data.ItemFileReadStore(
            { data:jsonResult }
        );
        var checkboxLayout = [
            [
                {name:'ID', field:"id" },
                {name:'Value', field:"id", formatter:this.addCheckBox}
            ]
        ];
        var grid = dijit.byId("myGrid");
        grid.setStructure(checkboxLayout);
        grid.setStore(dataStore);
    },

    addCheckBox:function (val) {
        var checkbox = "";
                    return checkbox;
    },

0voto

Swapnil Points 61

Si vous essayez d'afficher un sélecteur de case à cocher sur chaque ligne de la grille, vous pouvez suivre ce tutoriel

http://dojotoolkit.org/documentation/tutorials/1.8/working_grid/demo/selector.php

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X