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

GWT et Vaadin Java Discussion :

[GXT3] Désactiver la sensibilité (de la Grid?) à l'évènement clic du columnHeader (clic sur un titre colonne)


Sujet :

GWT et Vaadin Java

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Points : 80
    Points
    80
    Par défaut [GXT3] Désactiver la sensibilité (de la Grid?) à l'évènement clic du columnHeader (clic sur un titre colonne)
    Bonjour à tous,

    Je vous invite à voir cet exemple de Row editable grid : http://www.sencha.com/examples/#Exam...oweditablegrid

    on s'est basé sur cet exemple et on lui a rajouter un bouton "Ajouter" (créé une nouvelle ligne dans la grid avec les champs initialisés à vide ou à ce qu'on veut)

    Quand vous cliquez sur une cellule quelconque, vous basculerez dans le mode editing, si par erreur (ou volontairement) vous cliquez sur le header (n'importe quel titre de colonne) avant d'avoir finit de renseigner tous les champs de votre nouvelle ligne et faire "Save", vous allez sortir du mode éditing mais la nouvelle ligne reste!? (vous pourrez faire le test sur l'exemple juste en cliquant sur une ligne, passer en mode edit et click sur le Header, vous sortirez de ce mode...)

    Ce que je cherche, c'est quand on rentre en mode edit, on désactive la sensibilité du ColumnHeader à l'évennement click,

    Merci d'avance

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Points : 80
    Points
    80
    Par défaut com.sencha.gxt.widget.core.client.grid.ColumnHeader.onHeaderClick
    Peut être chercher du coté onHeaderClick(...) :

    com.sencha.gxt.widget.core.client.grid.ColumnHeader

    protected void onHeaderClick(Event event, int column) {
    container.fireEvent(new HeaderClickEvent(column, event, menu));
    }





    Ou masquer tout sauf la ligne active (qui est en état d'edition) ???
    et ne libérer que suite à un click sur Ok ou Cancel.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Points : 80
    Points
    80
    Par défaut Solution de contournement (provisoire)
    En attendant une vrai solution je teste si au moins un champ obligatoire n'est pas renseigné je supprime la ligne(car dans ce cas, ce n'est pas le bouton Ok été été cliqué , mais c'est un click sur le Header)

    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
    Grid<MonType> grid =  createMonTypeGrid(listStoreMonType, MonColumnModel);
    ...
    ...
    
    GridRowEditing<MonType> gre= new GridRowEditing<MonType>(grid);
    ...
    ..
    
    {
    gre.addCompleteEditHandler(new CompleteEditHandler<MonType>() {
    			public void onCompleteEdit(CompleteEditEvent<MonType> event) {
    ....
        ColumnModel<MonType> columnModel = event.getSource().getEditableGrid().getColumnModel();
    if (	isNullOrEmpty(gre.getEditor(columnModel .getColumn(COL_OBLIGATOIR_1)).getValue(), FieldTypeEnum.STRING_FIELD) ||
    ...
    isNullOrEmpty(gre.getEditor(columnModel .getColumn(COL_OBLIGATOIR_2)).getValue(), FieldTypeEnum.TYPE_FIELD) ||
    ...
    ) {
    // si au moins un champ obligatoire est vide => je supprime la ligne
    ....
    ...
    }
    private boolean isNullOrEmpty(Object value, FieldTypeEnum fieldTypeEnum) {
    				boolean result = false;
    				if(value == null){
    					result = true;
    				}else{
    					switch (fieldTypeEnum) {
    						case STRING_FIELD:
    							result = "".equals(((String)value).trim()) ;
    							break;
    						case TYPE_FIELD:
    							......
                                    }
    				return result;
    			}

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2009
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2009
    Messages : 76
    Points : 80
    Points
    80
    Par défaut
    un post qui porte sur la même question : http://www.sencha.com/forum/showthre....onHeaderClick

Discussions similaires

  1. Désactivation de la souris
    Par mika dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 13/03/2003, 13h15
  2. Désactiver les touches F1, F2, F3, F4, F5 dans IE
    Par ZiZouJH dans le forum Flash
    Réponses: 7
    Dernier message: 17/02/2003, 09h59
  3. Centrer un texte dans un string Grid
    Par christine dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/10/2002, 22h33
  4. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23
  5. Réponses: 8
    Dernier message: 17/05/2002, 09h08

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