bonjour,
je suis actuellement en train de programmer deux programmes à titre de consultation.
Le premier est sur IHM Windows et le deuxième est sur Site Web Windows Mobile.
Les deux réalise la même tache, je clique sur ma combobox qui m'affiche les informations sur plusieurs Agriculteur et fonction de l'Agriculteur sélectionner, j'obtient ces informations (adresse, email etc...) ainsi qu'une liste de Parcelles en fonction de l'Agriculteur. Ensuite quand je clique ensuite sur la Parcelle j'obtient les informations sur la Parcelle.
Le problème est que mon code fonctionne parfaitement pour l'IHM Windows mais pas pour Site Web Windows Mobile.
J'utilise une Listbox pour afficher la liste des Agriculteur et des Parcelle.
Voici le code pour l'IHM Windows :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 SortedList<int, string> _ListeNomAgri = new SortedList<int, string>(); SortedList<int, string> _ListeNomParcelle = new SortedList<int, string>(); tInfoAgriculteur DAgri; tInfoParcelle DParcelle; tGestionSiteWeb Gestion = new tGestionSiteWeb(); protected void Page_Load(object sender, EventArgs e) { RechercherNom(); } private void ListBox1_Click(object sender, EventArgs e) { //En cliquant sur un nom de combobox1 agriculteur renvoie les parcelles RechercherNom(); } public void RechercherNom() { //Appelle la méthode pour obtenir la liste des agriculteur à partir du serveur _ListeNomAgri = Gestion.ObtenirIDAgri(); //recupere le nb de valeur dans la sortedlist int valeur = _ListeNomAgri.Count; //ajoute les noms à la combobox for (int i = 0; i < valeur; i++) { ListBox1.Items.Add(_ListeNomAgri.ElementAt(i).Value); } } protected void Button1_Click(object sender, EventArgs e) { int valeurAgri = 0; _IDAgri = _ListeNomAgri.ElementAt(_ListeNomAgri.IndexOfValue(ListBox1.Text)).Key; AfficherInfoAgri(_IDAgri); RechercherParcelle(_IDAgri); } public void RechercherParcelle(int IDAgri) { _ListeNomParcelle = Gestion.DemanderIDParcelle(IDAgri); //recupere le nb de valeur dans la sortedlist int valeur = ListeNomParcelle.Count; for (int i = 0; i < valeur; i++) ListBox1.Items.Add(_ListeNomParcelle.ElementAt(i).Value);*/ } protected void ListBox2_SelectedIndexChanged(object sender, EventArgs e) { int valeur = 0; _IDParcelle = _ListeNomParcelle.ElementAt(_ListeNomParcelle.IndexOfValue(DropDownList2.Text)).Key; AfficherInfoParcelle(_IDParcelle); }
Cordialement Ullrik.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 SortedList<int, string> _ListeNomAgri = new SortedList<int, string>(); SortedList<int, string> _ListeNomParcelle = new SortedList<int, string>(); tInfoAgriculteur DAgri; tInfoParcelle DParcelle; tGestionSiteWeb Gestion = new tGestionSiteWeb(); private void comboBoxNom1_Click(object sender, EventArgs e) { //En cliquant sur un nom de combobox1 ont affiche la liste des Agri RechercherNom(); } public void RechercherNom() { //nettoye la listBox avant d'insere les nom comboBoxNom1.Items.Clear(); //Appelle la méthode pour obtenir la liste des agriculteur à partir du serveur _ListeNomAgri = Gestion.ObtenirIDAgri(); //recupere le nb de valeur dans la sortedlist int valeur = ListeNomAgri.Count; //ajoute les noms à la combobox for (int i = 0; i < valeur; i++) comboBoxNom1.Items.Add(_ListeNomAgri.ElementAt(i).Value); } private void nom1_SelectedIndexChanged(object sender, EventArgs e) { int IDAgri = 0; /*Donne la valeur de l'ID dans la base de donnée, correspondant à la valeur selectionné *dans la listebox de l'agriculteur dans la variable IDAgri. */ IDAgri = _ListeNomAgri.ElementAt(_ListeNomAgri.IndexOfValue(comboBoxNom1.Text)).Key; AfficherInfoAgri(IDAgri); RechercherParcelle(IDAgri); } public void RechercherParcelle(int IDAgri) { //nettoye la listBox avant d'inserer les noms comboBoxParcelle1.Items.Clear(); _ListeNomParcelle = Gestion.DemanderIDParcelle(IDAgri); //recupere le nb de valeur dans la sortedlist int valeur = ListeNomParcelle.Count; for (int i = 0; i < valeur; i++) comboBoxParcelle1.Items.Add(_ListeNomParcelle.ElementAt(i).Value);*/ } private void parcelle1_SelectedIndexChanged(object sender, EventArgs e) { int IDParcelle = 0; /*Donne la valeur de l'ID dans la base de donnée, correspondant à la valeur selectionné *dans la listebox de la parcelle en fonction de l'ID de l'Agri dans la variable IDParcelle. */ IDParcelle = _ListeNomParcelle.ElementAt(_ListeNomParcelle.IndexOfValue(comboBoxParcelle1.Text)).Key; AfficherInfoParcelle(IDParcelle); }
Partager