Mise a jours des listbox

cs_fred2019 Messages postés 20 Date d'inscription mardi 10 avril 2007 Statut Membre Dernière intervention 25 mai 2007 - 8 mai 2007 à 20:34
cs_fred2019 Messages postés 20 Date d'inscription mardi 10 avril 2007 Statut Membre Dernière intervention 25 mai 2007 - 9 mai 2007 à 23:16
bonsoir
je voulais savoir comment je pouvais procéder pour que lorsque je clique dans une listbox une autre listbox se mette instantanément à jour, par exemple une listbox avec tout les pays , en cliquant sur france dans une autre litbox apparait toutes les régions ?

merci



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 

10 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
8 mai 2007 à 20:42
Salut,

Moi je voudrais savoir d'ou viennent tes données ?

A+
Exploreur

 
0
cs_fred2019 Messages postés 20 Date d'inscription mardi 10 avril 2007 Statut Membre Dernière intervention 25 mai 2007
8 mai 2007 à 20:45
Salut
déjà merci pour tout à l'heure
mes données viennent d'une base de données sql server



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
 
0
benahmedsoufiane Messages postés 30 Date d'inscription dimanche 22 janvier 2006 Statut Membre Dernière intervention 1 avril 2010
8 mai 2007 à 20:50
Il faut que dans la premiére listbox tu récupére lindex que tu attribut a chaque ligne renvoyé par la bdd, pui mettre un code dans ta listbox lor du click (ou doubleclick) qui exécute une requette avec l'index récupéré qui charge la seconde listbox et ainsi de suite...
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
8 mai 2007 à 21:30
Salut,

Effectivement, quand tu va cliquer sur ta première listbox, il faut que tu lances un requête avec ta sélection que tu a faite dans ta listbox.

Note : Il te faudra créer un object recordset en .net aussi

Imaginons que tu as cliqué sur France :
Sql "SELECT * FROM TaTable WHERE TonChamp '" & List1.Text & "'"
Une fois que tu aura excuter cette requête il te suffira de faire une boucle sur ton recordset et de remplir ton autre listbox.
Avec cette requête tu aura tous les enregistrements(dans le recordset) des régions se rapportant à France

A+
Exploreur

 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
8 mai 2007 à 21:36
Salut,

Dernière petite remarque, ne valide les réponses que quand elle concerne une réponse(code) à ton problème, et non pas un commentaire...Sinon le fait de valider tout, moins de membres viendrons lire le topic puisqu'il et résolu..

A+
Exploreur

 
0
cs_fred2019 Messages postés 20 Date d'inscription mardi 10 avril 2007 Statut Membre Dernière intervention 25 mai 2007
9 mai 2007 à 00:41
merci pour vos reponses
je voudrai savoir comment il falait faire pour affecter une valeur à un element d'une liste box, et comment le  recuperer

voila comment je remplis ma liste:

while

(myReader.Read())ListCategories.Items.Add(myReader(

"designation").ToString()

End
While

comment puis je affecter son identifiant à chaque element
0
cs_fred2019 Messages postés 20 Date d'inscription mardi 10 avril 2007 Statut Membre Dernière intervention 25 mai 2007
9 mai 2007 à 15:29
comment fait on pour attribuer un index à item ???
0
benahmedsoufiane Messages postés 30 Date d'inscription dimanche 22 janvier 2006 Statut Membre Dernière intervention 1 avril 2010
9 mai 2007 à 17:11
Je croi que tu pourai le faire comme ceci, mai chui pas sur.
while

(myReader.Read())
ListCategories.Items.Add(myReader(
"designation").ToString()

ListCategories.ItemData(
ListCategories.NewIndex) = myReader(
"ton_Identifiant")

EndWhile
0
benahmedsoufiane Messages postés 30 Date d'inscription dimanche 22 janvier 2006 Statut Membre Dernière intervention 1 avril 2010
9 mai 2007 à 17:19
Et pour faire ta requette tu crée une variable qui va récupéré ton identifiant que tu mettra dans le click (ou double click) de ta listbox :

Ta_Variable = ListCategories
.ItemData(ListCategories
.ListIndex)requette "select * from client where numclient  " & Ta_Variable
0
cs_fred2019 Messages postés 20 Date d'inscription mardi 10 avril 2007 Statut Membre Dernière intervention 25 mai 2007
9 mai 2007 à 23:16
merci pour tout
j'ai trouvé la solution sur un site

il fallait passer par la création d'une classe...

voici la solution pour ceux que ca intéresse :




<table width= "100%">

----,
Cyrilange
</td>
</tr>
<tr>
<td class="QA_ligne_question">

Pour illustrer cette méthode nous allons prendre un exemple concret. Imaginons que nous avons une liste d'articles classés par famille et que nous voulions utiliser un ComboBox contenant la liste des familles pour filtrer la liste des articles. Nous voulons également ajouter "<Toutes>" à la liste des familles du ComboBox pour pouvoir annuler le filtre et retrouver la liste complète de nos articles.

Pour commencer nous allons ajouter une class au code de notre WinForm :




<code class="vbnet_keyword1">

Public



Class

ListItem

Public
Value
As
Object
Public
Text
As
String
Public
Sub
New
(
ByVal
NewValue
As
Object,
ByVal
NewText
As
String
)
Value
=
NewValue
Text
=
NewText
End
Sub
Public
Overrides
Function
ToString
()
As
String

Return Text
End
Function
End
Class

</code>




Maintenant nous allons créer la liste des familles dans notre ComboBox à l'aide d'une table contenant 2 champs (PrimaryKey, Famille) :




<code class="vbnet_keyword1">

Dim

myTable
as
DataTable
Dim
item
As
DataRow

'
****
içi
le
code
pour
remplir
le
DataTable


MyComboBox
.
Items
.
Add
(
New
ListItem
(
"
0
"
,
"
<Toutes>
"
))
For
Each
item
In
myTable
.
Rows

MyComboBox
.
Items
.
Add
(
New
ListItem
(
item
(
"
PrimaryKey
"
),
item
(
"
Famille
"
)))
Next

MyComboBox
.
SelectedIndex
=
0

</code>




Pour récupérer les données de chaque Item il faut procéder de cette façon :




<code class="vbnet_keyword1">

Dim

myValue
as
Integer
Dim
myText
as
String


myValue
=
CType
(myComboBox
.
SelectedItem
, ListItem)
.
Value

myText
=
CType
(myComboBox
.
SelectedItem
, ListItem)
.
Text

</code>




La puissance de cette méthode réside dans le faite que vous pouvez ajouter autant de paramètres que vous voulez dans la class ListItem.

</td>
</tr>
</tbody>
</table>
0
Rejoignez-nous