OVH Cloud OVH Cloud

swt remplir une Table

3 réponses
Avatar
yvon.thoravalNO-SPAM
A partir de l'exemple AddressBook, je n'arrive pas à retrouver la
méthode permettant de remplir une Table.

Enfin, j'arrive à qqc, mais tout est dans la première colonne, les
headers sont OK, par contre :

<code>
for (int j = 0; j < datas.size(); j++) {
Vector ligne = new Vector();
ligne = (Vector) datas.get(j);
for (int i = 0; i < columnNames.size(); i++) {
TableItem item = new TableItem(table, SWT.NONE, i);
item.setText(((String) ligne.get(i).toString()));
}
}
</code>

avec columnNames.size() = 6; et datas.size() = 17, bon je me retrouve
avec 102 items, tous dans la même colonne (voir
<http://cjoint.com/data/ldpFVKRj8O.htm>)
--
yt

3 réponses

Avatar
yvon.thoravalNO-SPAM
Yvon Thoraval wrote:

ligne = (Vector) datas.get(j);


j'ai trouvé une solution :

String[] ligne = { "...", ..., "..."};

--
yt

Avatar
Thomas Cornet
Rien de tel qu'un petit tour dans la javadoc...

http://help.eclipse.org/help30/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/TableItem.html#setText(int,
java.lang.String)

La méthode setText(int colonne, String texte) permet de remplir une colonne
spécifiée avec le texte que tu veux, ce qui devrait régler ton problème...

Thomas


A partir de l'exemple AddressBook, je n'arrive pas à retrouver la
méthode permettant de remplir une Table.

Enfin, j'arrive à qqc, mais tout est dans la première colonne, les
headers sont OK, par contre :

<code>
for (int j = 0; j < datas.size(); j++) {
Vector ligne = new Vector();
ligne = (Vector) datas.get(j);
for (int i = 0; i < columnNames.size(); i++) {
TableItem item = new TableItem(table, SWT.NONE, i);
item.setText(((String) ligne.get(i).toString()));
}
}
</code>

avec columnNames.size() = 6; et datas.size() = 17, bon je me retrouve
avec 102 items, tous dans la même colonne (voir
<http://cjoint.com/data/ldpFVKRj8O.htm>)


Avatar
yvon.thoravalNO-SPAM
Thomas Cornet wrote:

La méthode setText(int colonne, String texte) permet de remplir une colonne
spécifiée avec le texte que tu veux, ce qui devrait régler ton problème...


oui, merci, j'ai trouvé, entre-temps, setText(String[] strings);
--
yt