Index et DropDownList [Résolu]

Signaler
Messages postés
51
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
4 décembre 2008
-
Ishizaki
Messages postés
51
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
4 décembre 2008
-
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 !

je quote tu quotes...

1 réponse

Messages postés
51
Date d'inscription
lundi 6 novembre 2000
Statut
Membre
Dernière intervention
4 décembre 2008

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

        Catch ex As Exception

            Throw ex

        End Try

    End Sub

Bonne journée !
je quote tu quotes...