Problème de récupération de la valeur Count() d'un arraylist

Résolu
PascalCmoa Messages postés 239 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 17 janvier 2013 - 16 sept. 2008 à 14:38
ggtry Messages postés 417 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2010 - 16 sept. 2008 à 20:15
Bon je viens de solutionner une partie de mon précedent problème.
Pour ajouter mes controles les uns à coté des autres, j'utilise un control de type litéral.

Voici mon code pour ajouter de nouveaux controles

...
Public lesCriteres As New ArrayList() ' Arraylist déclaré comme variable globale.
...

Protected Sub btnAjout_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAjout.Click
        'Je récupère le nombre d'onjets stockés dans mon arraylist
        Dim monID As Integer = lesCriteres.Count() + 1
        lesCriteres.Add(createListOperation(monID)) ' Fonction permettant de créer une radioliste
        lesCriteres.Add(createListeCriteres(monID))  ' Fonction permettant de créer une listbox
       
        lFor Each valeur As String In lesCriteres 'lesCriteres
            lblControl.Text &= valeur
        Next
    End Sub

Les controles s'affiches correctement.Le problème est que mes nouveaux controles on tous le même identifiant. Je pensais pouvoir obtenir à chaque fois que je place mes controle dans le arraylist un count qui s'incrémente, et donc placer cette valeur comme identifiant pour mes nouveaux controles ainsi créés.

PascalCmoa
[mailto:pascal.aknouche@free.fr email: PascalCmoa]
A voir également:

1 réponse

ggtry Messages postés 417 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 21 juillet 2010 1
16 sept. 2008 à 20:15
Bonsoir,

C'est normal. Le fait d'utiliser une variable globale n'empêche pas qu'elle soit remise à zéro à chaque postback, donc à chaque fois que tu fais ton click.
D'autre part, si je comprends bien ce que tu fais, je ne suis pas sûr que cela soit la meilleure méthode :
si même tu ajoutes un id sur les contrôles ajoutés en html dans le literal, tu ne pourras pas les récupérer ensuite dans ton code, puisque tu ne peux pas mettre runat server dessus.

GGtry
3
Rejoignez-nous