Rafraichir plusieur control

Signaler
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007
-
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007
-
Bonjour,

J'ai essayé de mettre un double "listener" sur une methode.

Voilà ce que j'ai fait:

Protected

Sub generalBox_CheckedChanged(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)
Handles chkBox.CheckedChanged, DropDown.SelectedIndexChanged

Lorsque je change ma valeur dans ma dropDownList, il entre de la Sub, mais lorsque je fait :
Dim myValue As String = dropDown.selectedValue, il prend toujours la première valeur.

Comment puis-je procéder pour pouvoir récupérer cette valeur?

Au cas ou ce que j'ai fait est stupide...
[En d'autre termes, je dois rafraichir la dropDownList quand la valeur de la checkBox est changée, ainsi que rafraichir une TxtBox quand l'index de ma dropDownList est changé]

Merci d'avance pour vos conseils et bonne fin d'après-midi à tous

 ElpenS

3 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
13 octobre 2010
29
Pour que ca fonctionne il ne faut pas rebinder ton contrôle lors du postback mais utiliser le viewstate. Pour cela rien de plus simple dans le page_load tu fais un if page.ispostback then mondrop.datasource = ... mondrop.databind() sinon il va logiquement te prendre la premiere value

<hr />Cyril - MVS - MCP
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007

J'ai testé mais cela ne fonctionne pas...


Voilà comment je procède:


If Page.IsPostBack
Then
   If generalBox.Checked =
True
Then
   'Set the datasource to General
   DropDownPNum.DataSource = SqlDataGenPNumber
   DropDownPNum.DataBind()
   ...
     

Else
   'set the datasource to company
   DropDownPNum.DataSource = SqlDataPNumber
   DropDownPNum.DataBind()

End
If

Protected
Sub
DropDownPNum_SelectedIndexChanged(
ByVal
sender
As

Object
,
ByVal
e
As
System.EventArgs)
Handles DropDownPNum.SelectedIndexChanged
   

   Dim getErrorDescCmd As

New
OleDbCommand(
"SELECT Txt FROM [Table] WHERE Number ='"& DropDownProcNum.SelectedValue &
"'",  myConn)

   myConn.Open()
   errDescBox.Text = getErrorDescCmd.ExecuteScalar
   myConn.Close()

End
Sub

Mais comme avant, la valeur de mon drop est tjrs la première

Merci

 ElpenS
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007

Alors j'ai un peu changé de stratégie :




Protected
Sub generalBox_CheckedChanged(...)
If generalBox.Checked = True

Then


   'Set the datasource to General
   DropDownPNum.DataSource = SqlDataGenPNumber
   DropDownPNum.DataBind()
   ...     





Else


   'set the datasource to company
   DropDownPNum.DataSource = SqlDataPNumber
   DropDownPNum.DataBind()
End

If




ProtectedSub DropDownPNum_SelectedIndexChanged(ByVal sender AsObject, ByVal e As System.EventArgs) Handles

DropDownPNum.SelectedIndexChanged


...



Mon seul soucis à présent est de pouvoir l'afficher dès le démarrage, mais cela devrai jouer. Merci pout tes conseils





 ElpenS