Ishizaki
Messages postés51Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention 4 décembre 2008
-
13 déc. 2007 à 12:03
Ishizaki
Messages postés51Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention 4 décembre 2008
-
13 déc. 2007 à 15:06
Bonjour tout le monde
Je voudrai avoir une info
En fait, ce que je cherche à faire, c'est modifier l'affichage de ma page selon l'item sélectionné dans une Dropdownlist.
J'ai ma fonction RemplirDropDownList dans le Load qui remplit ma dropdownlist (pas fait dynamiquement).
Je ne sais pas si les Index sont ajoutés automatiquement lors de la creation d'une DDL (par exemple pour le premier item ce sera 1, pour le deuxième ce sera 2, etc...)
C'est pour cela que je fais une boucle for qui va ajouter les index à ma DDL
Voilà le code de remplissage (Dans le load)
Dim NumberChoice As Integer
Dim CountChoice As Integer
'remplissage des listes déroulantes
'Choix de recherche (Modification du 13/12/2007 )
'ChoiceListContract est donc ma DDL
Me.ChoiceListContract.Items.Add("Tout")
Me.ChoiceListContract.Items.Add("Par type de contrat")
Me.ChoiceListContract.Items.Add("Par salarié")
'NumberChoice compte le nombre d'items dans ma DDL
NumberChoice = Me.ChoiceListContract.Items.Count
For CountChoice = 1 To NumberChoice Step 1
'Ici je voudrais affecter un index à la value de ma DDL
Next
Et, en gros je voudrais que selon l'index sélectionné, mon affichage se modifie en conséquence :
#Region "Modification du texte de la DropDownList ChoiceListContract"
''' <summary>
''' En fonction de l'index choisi dans la DropDownList, les éléments sont affichés ou pas sur la page
''' </summary>
'''
'''
''' <remarks></remarks>
Protected Sub ChoiceListContract_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ChoiceListContract.SelectedIndexChanged
Try
Dim LibelChoice As Integer
LibelChoice = Me.ChoiceListContract.SelectedIndex
'On choisit l'index de la dropdownlist ChoiceListContract
Select Case LibelChoice
Case 1
'Ici se trouvent les DDL que je veux afficher ou non en fonction de l'inex sélectionné de ma DDL ChoiceListContract
Me.ddl_matricule.Visible = True
Me.ddl_typecontrat.Visible = True
Case 2
Me.ddl_matricule.Visible = False
Case 3
Me.ddl_typecontrat.Visible = False
End Select
Catch ex As Exception
Throw ex
End Try
End Sub
#End Region
Voilà voilà, j'espère vous avoir éclairé sur mon souci et vous remercie d'avance pour votre aide !
Ishizaki
Messages postés51Date d'inscriptionlundi 6 novembre 2000StatutMembreDernière intervention 4 décembre 2008 13 déc. 2007 à 15:06
En fait j'ai trouvé comment ^^.
Il suffit donc de rajouter l'évènementOnSelectedIndexChanged à ma DDL et lui assigner un AutoPostBack à True. Pour ce qui est de ma méthode, je fais comme suit:
''' <summary>
''' Cet évènement fait suite à OnSelectedIndexChanged, qui va modifier l'affichage de la page selon l'index de la DDL
''' </summary>
'''
'''
''' <remarks></remarks>
Protected Sub PageModify(ByVal sender As Object, ByVal e As System.EventArgs)
Try
Dim Choice As Integer
'On assigne l'index de la DDL à Choice
Choice = ChoiceListContract.SelectedIndex
'Selon l'index sélectionné, on montre ou pas les DDL indiquées
Select Case Choice
Case 0
Me.wc_salaries.Visible = True
Me.ddl_type.Visible = True
Case 1
Me.wc_salaries.Visible = True
Me.ddl_type.Visible = False
Case 2
Me.wc_salaries.Visible = False
Me.ddl_type.Visible = True
End Select