IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

DataGrid avec champs spécifiques éditables


Sujet :

Bibliothèques & Frameworks

  1. #1
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut DataGrid avec champs spécifiques éditables
    Salut,

    Depuis quelques temps je tente de rendre des champs d'une Grid éditable mais j'arrive à le faire que pour les objets Select et le type intégré à l'attribut editable:true.

    J'aimerai, par exemple, y ajouter un DateTextBox ou encore un Textarea mais rien à faire. Soit il plante au démarrage soit le démarrage est correct mais au double clic je n'ai que la simple TextBox par défaut.

    Voici le code en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
            dojo.require("dojo.date.locale"); 
            dojo.require("dojo.data.ItemFileWriteStore");
            dojo.require("dojox.grid.DataGrid");
            dojo.require("dojox.grid.cells.dijit");
     
            var jsonStore = new dojo.data.ItemFileWriteStore({ data: 
                                                                    {
                                                                        identifier: 'matricule',
                                                                        label: 'matricule',
                                                                        items: [ { matricule: '810602', datedispo: '31/12/2009', lieuhab: '44000 NANTES', observations: 'null', vehicule: 'false' } ]
                                                                    }
                                                            });
            var formatVehicule = function(inDatum) {
                switch (inDatum)
                {
                    case 'true' : return 'OUI';
                    case 'false' : return 'NON';
                }
            }
     
            var formatDate = function(inDatum) {
                return dojo.date.locale.format(new Date(dojo.date.stamp.fromISOString(inDatum)), this.constraint);
            }
     
            var grid = null;
            dojo.addOnLoad(function(){
                var layout = [
                    {
                        width: 'auto',
                        noscroll: true,
                        cells: [
                            { field: "matricule", name: "Matricule", width: '65px' },
                        ]
                    },
                    {
                        cells: [
                            { field: "datedispo", name: "Dispo.", width: '80px', editable: true, dojox.grid.cells.DateTextBox, constraint: {formatLength: 'long', selector: "date"} },
                            { field: "lieuhab", name: "Lieu Hab.", width: '150px' },
                            { field: "observations", name: "Observations", width: '150px' },
                            { 
                                field: "vehicule", 
                                name: "Véhicule", 
                                width: '60px', 
                                editable: true, 
                                type: dojox.grid.cells.Select, 
                                options: [ 'OUI', 'NON' ], values: [ 'true', 'false' ],
                                formatter: formatVehicule
                            },
                        ]
                    }
                ];
     
                grid = new dojox.grid.DataGrid({
                    query: { matricule: '*' },
                    store: jsonStore,
                    structure: layout
                }, 'gridNode');
            });
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        <div class="partsContainer">
            <div class="gridContainer" style="height:600px">
                <div id="gridNode"></div>
            </div>
        </div>

    Pouvez-vous me dire ce qui ne va pas ?

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut


    Déjà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    type:dojox.grid.cells.DateTextBox
    Sinon, pour info je je n'arrive pas à afficher ta grid

    Quelle version de Dojo utilises tu ?

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ah oui j'avais oublié le type , merci

    J'utilise la 1.3.2

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Ok, j'ai fait mon test avec la 1.2.

    Si cela ne marche pas mieux je testerai de nouveau ce soir avec la 1.3.

    A+,


  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Non ça ne marche pas...

    L'oubli du type n'est pas la source de mon problème. C'est juste la conséquence de mes multiples tests avec type, editor et cie

    Là vu que ça ne veut pas fonctionner avec moi je suis allé voir Mootools mais si tu peux me dire pourquoi ça ne fonctionne pas je veux bien

  6. #6
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Je vais être franc avec toi, cette grid est pas trop mal pour afficher des données mais pour l'édition je n'ai jamais été convaincu: trop lourd, lent et pas bien adapté à la taille des composants qu'on utilise pour l'édition et à la gestion du focus etc...
    Elle veut faire trop de choses et du coup cela s'en ressent. Dojo devrait prendre exemple sur EXT-JS pour ces aspects...

    ERE

  7. #7
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    C'est exactement ce que je pensais...
    Avec un gros jeu de données on a un navigateur au ralenti. Même Firefox me proposer au bout d'un certain temps d'arrêter le script.

    Je vais voir aussi du côté de ExtJS pour voir

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/11/2014, 15h19
  2. Datagrid avec champs des tables liées en lecture seule
    Par digital prophecy dans le forum ADO.NET
    Réponses: 1
    Dernier message: 17/05/2011, 11h37
  3. Remplir datagrid avec champs base de données
    Par samuel4256 dans le forum Flex
    Réponses: 5
    Dernier message: 04/10/2010, 09h53
  4. CListCtrl avec champs éditables
    Par fantomchris dans le forum MFC
    Réponses: 6
    Dernier message: 01/06/2010, 12h00
  5. fenêtre avec champs éditables
    Par LFC dans le forum Windows
    Réponses: 2
    Dernier message: 13/09/2003, 12h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo