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

Composants Java Discussion :

[JXTable][RowSorter] Probleme de selection


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut [JXTable][RowSorter] Probleme de selection
    Bonjour à tous,

    Je travaille actuellement avec une JXTable et je rencontre un problème avec le RowSorter de la JXTable, activée avec table.setSortable(true).

    Déjà il est peut être nécessaire de rajouter que à chaque table est liée une FilterPipeline qui marche elle correctement.

    Si j'ai une cellule sélectionnée et que je la trie la colonne dans laquelle elle est (en cliquant sur le ColumnHeader) et bien la cellule reste à sa place alors que le reste de la table se trie. Quand je quitte l'éditeur, la valeur reste bien sur... Donc ça crée de gros problèmes

    Voici le principal code associé à ma table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    _table.setFillsViewportHeight(true);
    		_table.setHorizontalScrollEnabled(true);
    		_table.setDragEnabled(false);
    		_table.setSurrendersFocusOnKeystroke(true);
    		_table.getTableHeader().setReorderingAllowed(false);
    		_table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
    		_table.setAutoscrolls(true);
    		_table.setRowHeightEnabled(true);
    		_table.setSortable(true);
    Si y'a besoin de plus ou si je n'ai pas été assez claire dites moi,

    Merci

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Citation Envoyé par rednik Voir le message
    Si j'ai une cellule sélectionnée et que je la trie la colonne dans laquelle elle est (en cliquant sur le ColumnHeader) et bien la cellule reste à sa place alors que le reste de la table se trie. Quand je quitte l'éditeur, la valeur reste bien sur... Donc ça crée de gros problèmes
    Là soit mes neurones sont en mode rémission totale, soit je vieillis (putain ça fait tôt à 28 ans d'avoir de tels problèmes compréhension, je sens l'alzheimer arriver vite fait, va falloir que je me trouve un hospice tant que je suis sain d'esprit )

    Ou c'est juste que tu t'es un poil embrouiller dans tes explications et que c'est un poil confus.
    Je suppose que tu as mis en place des filters spécifiques, lesquels?
    Quel est le résultat que tu attends?
    Quel est le résultat obtenu actuellement?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut
    Mpfff. Je viens de relire. J'admet que ça n'a aucun sens. Pourtant j'étais sure d'avoir relu . Enfin passons, je la refais donc avec de vraies phrases

    J'utilise 5 filtres (PatternFilter dans une FilterPipeline) sur ma table que je rentre à l'init de ma table et j'ai un panel qui les affiche. Le tri est fait par nom de colonne, puis par valeur sur la colonne (setPattern()) . Bon pour ça pas de problèmes.

    En revanche lorsque je fais un 'tri' en cliquant sur le nom de ma colonne directement, c'est là que ça devient un bazar sans nom. Ca arrive lorsque une cellule est selectionnée et en train d'éditer.
    En gros le tri se fait correctement: la ligne selectionnée est deplacée mais la cellule éditée, elle, reste à sa place et du coup remplace la cellule de la nouvelle ligne de s'afficher. Lorsque je quitte l'édition, la cellule editée est sauvegardée et donc l'ancienne valeur de la ligne est perdue.

    C'est plus clair la ?

    Merci

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Ca ressemble beaucoup à un bug ça...

    Tu utilises bien la dernière version de Swing je suppose (0.9.4), donc il va peut être falloir que tu ailles du coté du forum de SwingX et ouvrir en parallèle un bug dans l'outil de tracking.

    As tu essayé de voir ce que ça donne en retirant l'appel à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _table.setSurrendersFocusOnKeystroke(true);

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut
    Oui j'ai enlevé la ligne et ça semble rester .

    Par contre j'utilise la 9.3 ! C'est ce que j'essaie de voir depuis une semaine mais tout leur site est down... (http://swinglabs.org/downloads.jsp)

    Peut etre que ca a été remis à jour dans la 9.4 ?

    Le problème est surtout que reproduire le bug va être compliqué vu la taille du projet sur le quel je travaille... Enfin bon en tout cas merci

    Bonne journée,

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Pour la 0.9.4 tu peux la trouver à l'adresse suivante: https://swingx.dev.java.net/servlets...903&folderID=0

    Mais n'espères pas trop non plus, car les fonctionnalités de tri de la JXTable sont vouées à être dépréciées dans le futur, à partir du moment ou SwingX sera orienté purement java 6 (le RowSorter ayant été inclus dans la JTable).

    Sinon en ce qui concerne les forums Swingx essaies toujours d'y poster en décrivant correctement le problème, quels sont les éléments spécifiques que tu as mis en places. SI tu arrives à faire un post bien ordonné et compréhensible (en anglais bien sûr) tu auras probablement Jeannette Winzenburg (la personne en charge des composants tabulaires sur SwingX, alias Kleopatra sur leurs forums) qui devrait te filer un coup de main. http://forums.java.net/jive/forum.jspa?forumID=73

    Par contre elle risque de te demander un cas de test

    Juste pour voir, tu as essayé en retirant le terminateEditOnFocusLost?

    Autre point dont je viens de m'apercevoir, Sun a arrêté de financer Swingx, donc a priori son évolution (déjà un poil lente) en sera encore plus limitée...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 90
    Par défaut
    Ahh !
    J'ai trouvé une semi solution (la cellule bouge meme quand elle est éditée):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    		_table.setAutoCreateRowSorter(true);
    		_table.toggleSortOrder(0);
    Mais, les deux problèmes que je rencontre :
    + Deux flèches s'affichent au lieu d'une seule sur le colonne header a partir du second tri
    + lorsque je trie, la selection ne bouge pas, mais les lignes oui.

    Quelqu'un aurait il une idée pour corriger l'un de ces facheux points ?

    Merci

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

Discussions similaires

  1. probleme de selection aleatoire sur excel avec macro vba
    Par guillaume sors dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/10/2005, 10h51
  2. [ASE]probleme memoire: select dans une insert
    Par SegmentationFault dans le forum Sybase
    Réponses: 2
    Dernier message: 16/08/2005, 12h20
  3. [XSLT] Probleme de selection avec namespaces
    Par Ludo_xml dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 01/06/2005, 14h32
  4. probleme requete select avec 2 colonnes
    Par cricri45000 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/04/2005, 10h39
  5. Probleme avec Select Case
    Par GeffD dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 07/03/2005, 15h28

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