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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| package com.mycompany.project.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
import com.gwtext.client.data.Record;
import com.gwtext.client.data.SimpleStore;
import com.gwtext.client.data.Store;
import com.gwtext.client.widgets.Panel;
import com.gwtext.client.widgets.form.ComboBox;
import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
public class ImageViewer implements EntryPoint {
public void onModuleLoad() {
final Panel panel = new Panel();
panel.setTitle("Essai");
panel.setPaddings(15);
panel.setSize("100%", "100%");
final Panel resul = new Panel();
resul.setTitle("resultats de la selection");
//définition de notre tableau
final Object[][] cities = new Object[][] {
new Object[] {Integer.valueOf("0" ), "Paris (75000)", "Paris" },
new Object[] { Integer.valueOf("1" ), "Rhône (69000)", "Lyon" },
new Object[] { Integer.valueOf("2" ), "Alpes-Maritimes (06000)", "Nice" },
new Object[] { Integer.valueOf("3" ), "Bas-Rhin (67000)", "Strasbourg" },
new Object[] { Integer.valueOf("4" ), "Gironde (33000)", "Bordeaux" },
new Object[] { Integer.valueOf("5" ), "Seine-Maritime (76600)", "Le Havre" },
new Object[] { Integer.valueOf("6" ), "Nord (59000)", "Lille" },
new Object[] {Integer.valueOf("7" ), "Var (83000)", "Toulon" },
new Object[] { Integer.valueOf("8" ), "Maine-et-Loire (49000)", "Angers" },
new Object[] { Integer.valueOf("9" ), "Finistère (29200)", "Brest" },
new Object[] { Integer.valueOf("10" ), "Sarthe (72000)", "Le Mans" } };
final Store donnees = new SimpleStore(new String[] {"id", "abbr", "ville" },cities);
donnees.load();
final ComboBox comboBox = new ComboBox();
panel.add(comboBox);
// placer le premier mot de la liste dans le champ
comboBox.setForceSelection(true);
// le nombre de caractères que l'utilisateur doit taper, pour faire apparaître les éléments
comboBox.setMinChars(1);
// récupère les données
comboBox.setStore(donnees);
// et les places dans la comboBox
comboBox.setDisplayField("ville");
//permet de donner une donner a chaque valeur
comboBox.setValueField("id");
// définit le chargement des données en locale
comboBox.setMode(ComboBox.LOCAL);
//
comboBox.setTriggerAction(ComboBox.ALL);
// place un texte dans le champ
comboBox.setEmptyText("Enter une letrre");
// affichage du texte pendant que les données sont chargées
comboBox.setLoadingText("Searching...");
// donne un titre aux données
comboBox.setTitle("donnees");
// la largeur
comboBox.setWidth(200);
//déclenche un événement lors de la sélection dans la comboBox
comboBox.addListener(new ComboBoxListenerAdapter() {
public void onSelect(final ComboBox comboBox, final Record record, final int index) {
//conversion de notre String en int de la setValueField(id)
//pour information si on avait utilisé le retour index de la comboBox, on se saurait retrouver avec un petit problème lors de la sélection au clavier.
int val = Integer.parseInt(comboBox.getValue());
String res = "<P>" +(String) cities[val][2] +"<P>" +(String) cities[val][1]+"<P>"+"<P><b>"+ " positionnement dans notre tableau avec la valeur index"+"</b>"
+"<P>"+"<P>"+(String) cities[index][2] +"<P>" +(String) cities[index][1];
//affichage dans le panel resul
resul.setHtml(res);
}
});
final RootPanel rootPanel = RootPanel.get();
rootPanel.add(panel);
rootPanel.add(resul, 19, 118);
resul.setSize("556px", "214px");
}
} |