Bonjour à tous,

Dans le but de pouvoir rafraichir(possibilité de changer son contenu et même le nombre de colonnes ainsi que leur libellé) un tableViewer dans une vue, j'ai une méthode me permettant de disposer mes colonnes. le code est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public void dispose(){
	Table table = viewer.getTable(); 		
	if (table.getColumnCount() > 0){
		for(int i=table.getColumnCount()-1; i >= 0; i--) {
			table.getColumn(i).dispose();				
		}
	}
// ceci fai également la même chose et j'ai le même pb
// for (final TableColumn column : table.getColumns()) {
//		column.dispose();
//	}		
}
Lorsque je fais un affichage du nombre de colonnes du viewer avant et apres l'appel à cette méthode, il passe bien de "n" à 0.

Cependant, lorsque j'affiche ensuite ma vue, et bien j'ai la mauvaise surprise d'avoir une colonne(la première précédement dispsoée) rempli avec les même infos qui étaient avant. Avec cette remarque que cette colonne n'a pas de header.

De plus, lorsque je fais un refresh de mon viewer et que j'affiche ensuite ma vue, j'ai la même colonne qui est affichée avec une prise en compte des infos de mon LabelProvider(coloration par exemple) .

Pour ma part, j'ai l'impression que le problème vient du fait que le viewer a toujours les mêmes label et content providers (que je veux garder), et surtout le même input(que je voudrais changer par la suite).

La question que je m'en vais vous poser est celle de savoir si vous sauriez m'expliquer ce qui se passe et si vous sauriez résoudre le problème? (Vous seriez alors un Démi Dieu pour moi ).