Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité régulier
    Homme Profil pro
    Inscrit en
    octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2012
    Messages : 15
    Points : 7
    Points
    7

    Par défaut Retour à la ligne dans une colonne de TableViewer

    Bonjour,

    J'ai un TableViewer avec plusieurs colonnes et j'y insère des chaines de caractères assez longues. Et comme la limite de caractères d'une colonne est de 255 tout ne s'affiche pas.
    Je sais qu'il est possible de gérer ça par les cellules avec du code comme cell.setLineWrap(true); ou cell.setWrapStyleWord(true); sauf que je ne gère pas de cellules, seulement des colonnes.

    J'aimerais savoir alors comment faire pour passer à la ligne (automatiquement ou avec une limite de caractères que je définie) ?


    Merci d'avance


    Code :
    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
        viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER);
        createColumns(parent, viewer);
        final Table table = viewer.getTable();
        table.setHeaderVisible(true);
        table.setLinesVisible(true);
        viewer.setContentProvider(new TableContentProvider());
        viewer.setInput(input);
     
        private void createColumns(final Composite parent, final TableViewer viewer) {
            String[] titles = { "Nom", "Description" };
    	int[] bounds = { 100, 100 };
    	TableViewerColumn col = createTableViewerColumn(titles[0], bounds[0], 0);
            col.setLabelProvider(new ColumnLabelProvider() {
    	    @Override
    	    public String getText(Object element) {
                    TableContent p = (TableContent) element;
    	        return p.nom;
    	    }
            });
                col = createTableViewerColumn(titles[1], bounds[1], 1);
                col.setLabelProvider(new ColumnLabelProvider() {
                    @Override
    	        public String getText(Object element) {
                    TableContent p = (TableContent) element;
    	        return p.description;
    	    }
            });
        }

  2. #2
    Invité régulier
    Homme Profil pro
    Inscrit en
    octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2012
    Messages : 15
    Points : 7
    Points
    7

    Par défaut

    Bonjour à tous,

    Je continue à chercher mais tout les exemples sur lesquels je tombe utilisent des chaines de caractères très courtes :
    http://www.java2s.com/Code/Java/SWT-...ipse/Table.htm
    http://vzurczak2.wordpress.com/2011/...vec-swt-jface/
    http://www.vogella.com/articles/Ecli...e/article.html

    Puisque je ne créée pas de cellules directement je suppose que je dois passer par les paramètres d'une colonne mais je n'ai aucune idée sur la façon de m'y prendre...

    Cordialement,

  3. #3
    Modérateur
    Avatar de Gueritarish
    Homme Profil pro Marc
    Développeur Java
    Inscrit en
    mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Nom : Homme Marc
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2007
    Messages : 1 800
    Points : 3 514
    Points
    3 514

    Par défaut

    Salut,

    Tu trouveras la solution dans ce snippet JFace.
    Il s'agit d'utiliser un label provider qui te permette de donner tes propres mesures aux cellules.

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  4. #4
    Invité régulier
    Homme Profil pro
    Inscrit en
    octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : octobre 2012
    Messages : 15
    Points : 7
    Points
    7

    Par défaut

    Salut,

    Merci pour la réponse, c'était utile. J'ai fini par faire quelque chose d'un peu différent mais le principe reste le même. Je mets en lien d'autres exemples qui m'ont aidés au cas ou pour le prochain qui a besoin d'aide:
    http://www.java2s.com/Tutorial/Java/...eTablecell.htm
    http://git.eclipse.org/c/platform/ec...nippet231.java

    Bonne journée à tous

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •