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

Ext JS / Sencha Discussion :

Sélectionner une ligne dans mon GridPanel - ExtJs


Sujet :

Ext JS / Sencha

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 49
    Par défaut Sélectionner une ligne dans mon GridPanel - ExtJs
    Bonjour,
    Je revient vers vous car je rencontre encore des problèmes.
    J'ai un gridPanel contenant des informations d'une base de données.

    Mon grid :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    new Ext.grid.GridPanel({
      columns: mesColonnesVar,
      id: 'gridPanelVar',
      width: '90%',
      height: 400,
      store: gridPanelVar,
      selModel: new Ext.grid.RowSelectionModel({
       singleSelect: true
                }),
      stripeRows: true
    }),
    Les colonnes de mon grid :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var mesColonnesVar = [
        { header: 'N°', width: '20%', dataIndex: 'Var_Id', sortable:true },
        { header: 'Variable', width: '30%', dataIndex: 'Var_Nc', sortable: true },
        { header: 'Libellé', width: '50%', dataIndex: 'Var_Nl', sortable: true }
    ];
    Mon store :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var gridPanelVar = new Ext.data.JsonStore({
        proxy: proxyGrVar,
        baseParams: { method: 'gridPanelVar' },
        autoLoad: true,
        fields: ["Var_Id","Var_Nc", "Var_Nl"],
        root: "rows",
        totalProperty: "total",
        successProperty: "success"
    })
    Tout marche très bien, mise à par que je n'arrive pas à sélectionner une ligne dans mon gridPanel.
    Je ne sais pas, peut être il y a t-il une autre propriété à ajouter pour mon gridPanel ?
    Merci

  2. #2
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    tu as deux attributs de config pour le grid panel
    selModel qui prend pour valeur une instante de Ext.selection.Model
    setType qui prend pour valeur une String comme 'rowmodel'

    cela défini le type de sélection désiré row cell etc.

    tu as un exemple ici http://docs-origin.sencha.com/extjs/...rid-plugins.js
    qui utilise un CheckboxModel
    dans la définition du grid2 tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    grid2 = Ext.create('Ext.grid.Panel', {
            id: 'grid2',
            store: getLocalStore(),
            selType: 'checkboxmodel',
    qui instencie un Ext.selection.CheckboxModel

    A+JYT

  3. #3
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 49
    Par défaut
    Merci de ta réponse, ça marche mais pas sur mes gridPanel dont je modifie le store.
    En fait pour donné plus de détails je charge le store à partir d'une sélection d'une combobox, tout en y ajoutant un paramètre à ma requête ajax, ce paramètre est la valeur de l'élément de ma combobox que je sélectionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     Ext.getCmp('gridPanelVar').store.load({
                    params: {
                        gr : Ext.getCmp('comboGrVar_GestVar').getValue() // Valeur combobox
                    }
                   // Serait-il possible ici de modifié la configuration de mon grid afin d'ajouter le RowSelectionModel? Si oui comment faire ?
                });

  4. #4
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 49
    Par défaut
    En clair est il possible d'initialisé le selectionModel après la sélection dans ma combobox ?

  5. #5
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2012
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2012
    Messages : 49
    Par défaut
    Bonjour, je revient ici car j'ai trouvé la solution aujourd'hui même, c'est totalement débile, et je ne comprend pas pourquoi mais bon ça marche.

    Je ne l'avais pas mis ici mais mesColonnesUtil est une variable qui génère mes colonne de mon grid panel.

    Pour adapter la taille de mes colonnes à mon tableau j'avais mis cette taille en pourcentage.

    Or, c'étais ça qui faisait beuguer mon truc, donc je les ai mis en pixel :

    Nom : Screen Shot 03-11-15 at 12.01 PM.PNG
Affichages : 297
Taille : 9,7 Ko

    Voila c'est tout... WTF ?!

    EDIT: Enfin ici c'etais mesColonnesVar mais ça reprend le même principe est ça ne marchait pas non plus

  6. #6
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    perso j'utilise toujours flex

    exemple trois colonnes avec un flex respectif de 2, 3, 5 soit un total de 10

    si la grid fait 156px de large la colonne 1 fait 2 * 156 / 10 la colonne 2 fait 3 * 156 / 10 et la 3 fait 5 * 156 / 10

    du coup je ne m'occupe que des proportion relatives ce qui permet d'avoir des grid qu'on peut redimensionner et qui s'adapte à l'espace.

    A+JYT

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C#]Sélectionner une ligne dans un datagridview
    Par padodanle51 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 10/03/2013, 09h04
  2. [HTML] Sélectionner une ligne dans un tableau en html
    Par jehlg dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/06/2008, 11h55
  3. Comment sélectionner une ligne dans une TStringGrid ?
    Par Ben_Le_Cool dans le forum Composants VCL
    Réponses: 11
    Dernier message: 22/08/2005, 12h38
  4. [DB2] Sélectionner une ligne dans une SP
    Par Fatah93 dans le forum DB2
    Réponses: 4
    Dernier message: 25/05/2005, 14h52
  5. Sélectionner une ligne dans une DBGrid
    Par RBIK dans le forum Bases de données
    Réponses: 13
    Dernier message: 01/07/2004, 17h13

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