Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Sélection d'item dans un ListBox [ WebForms / WebControl ] (antoineraymond)

mercredi 3 décembre 2008 à 15:49:55 | Sélection d'item dans un ListBox

antoineraymond

Bonjour à tous.

Dans le PostBack d'une page ASP.NET, je veux que les items sélectionné d'un listBox soit encore sélectionné après le DataBind (Je fais un DataBind pour changer le listBox selon la sélection d'un DropDownList). Mon problème est que la variable listTemp pointe sur la nouvelle collection de la listBox. Je voulais savoir si il est possible de garder les enciennes valeur de la listBox dans une variable non pointeur pour pouvoir comparer. Si vous avez d'autre solution je suis aussi ouvert.


Dim

listTemp As New ListItemCollection
listTemp =
Me .cboMoule.Items

Call Load_Liste_Moule()
Me .cboMoule.DataBind()

Dim i As Integer = 0
While i < Me .cboMoule.Items.Count
         
Me .cboMoule.Items(i).Selected = listTemp(i).Selected
         
i += 1
End While

Merci

Antoine

mercredi 3 décembre 2008 à 23:34:11 | Re : Sélection d'item dans un ListBox

ggtry

Bonsoir,

Tu peux sans doute profiter de l'ordre des événements lors du postback :
lors du Page_Load, tu peux récupérer les items sélectionnés puis, sur l'événement qui régénère ta listbox, tu pourras donner la même sélection.
Un exemple bête, avec le Page_Load, et un changement fait sur un button click, avec une variable globale (ici, toto) :

    Dim toto As Integer
    Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        If Page.IsPostBack = True Then
            toto = ListBox1.SelectedIndex
        End If 
    End Sub
   
      Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
            ... changement des données du listbox ...   
            ListBox1.SelectedIndex = toto
      End Sub



GGtry


jeudi 4 décembre 2008 à 17:56:54 | Re : Sélection d'item dans un ListBox

antoineraymond

C'est ce que j'ai fait mais ma variable listTemp pointe sur la nouvelle liste à la place d'être une variable en mémoire qui garde l'information avant de refaire la databind.

Merci

Antoine

jeudi 4 décembre 2008 à 19:29:05 | Re : Sélection d'item dans un ListBox

ggtry

Réponse acceptée !
Bonsoir,

Je ne sais pas trop pourquoi les valeurs de l'ancienne listbox ne se conservent pas avec ce que tu fais avec listTemp. Mais j'ai testé, et c'est en effet le cas.
A défaut d'une meilleure solution, tu peux essayer de contourner en remplissant un tableau, par exemple :

      Private tata() As Boolean
      Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim listtemp As New ListItemCollection
        ReDim tata(ListBox1.Items.Count)
        listtemp = ListBox1.Items
        For x As Integer = 0 To ListBox1.Items.Count - 1
            tata(x) = listtemp(x).Selected
        Next
      ... ton nouveau databind...
      End Sub

Puis sur le prerender de ton listbox, tu pourras lire ton tableau et attribuer les anciennes valeurs à la nouvelle liste, par exemple, en reprenant ce que tu fais :

 Protected Sub ListBox1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs)
        If Page.IsPostBack = True Then
            Dim i As Integer = 0
            While i < ListBox1.Items.Count
                If tata(i) = True Then ListBox1.Items(i).Selected = True
                i += 1
            End While
        End If
    End Sub

Ce n'est pas terrible, mais ça marche...

GGtry

jeudi 4 décembre 2008 à 20:34:36 | Re : Sélection d'item dans un ListBox

antoineraymond

Réponse acceptée !
C'est exactement ce que j'ai fait. Je ne trouve pas ça très esthétique mais c'est fonctionnel.

Merci

Antoine



Cette discussion est classé dans : listbox, sélection, items, databind, cbomoule


Répondre à ce message

Sujets en rapport avec ce message

controle listbox [ par T103 ] bonsoir,voila jai un listbox et je voudrai faire un controle dedans pour ke lutilisateur ne puisse pas rentrer 2 fois la mem valeur, voici mon code: f PostBack [ par edokt ] Salut à tous J'ai un problem avec postback Pour n'est pas faire des connection serveur, j'ai ecrit un petit code en javascript pour ajouter des item [asp][1.1] Petit problème de listBox et de coloration [ par SupaLou ] Je cherche un modifier la couleur de certain items appartenant à la même ListBox:Je parcours donc ma listBox et fait un test sur chaque item puis j'es sélection dans une ListBox ASP.NET [ par atmeitsatme ] Bonjour, J'ais créé un formulaire avec plusieurs listBox et des boutons.J'ais associé à mes listBox la méthode corespondant à l'évènement OnSelectedIn Mettre un item d'une listbox en gras [ par Jean_Marc_1968 ] Salut à toutes et à tous,Soit une listbox dans laquelle certains items doivent être mis en évidence.ceci fonctionne :listbox.Items[noItem].Attributes. Avoir différents états Crystal report selon la sélection dans un DropDownList [ par kabdal ] Bjr, On es entrain de développer un site web VS 2005 et on veut utiliser le crystal report.Notre problème est: Dans notre page on a des DropDownList r [C#] Problème Très Grave :( [ par The Red Man ] Salut à tous,J'aimerai savoir comment peut-on gérér les controls dynamiquement. Je n'arrive pas a trouver la solution à mon problème depuis 5 heures e Listview items sont toujours null [ par jirap ] Bonjour à tous,le listview de l'asp 3.5 fonctionne bien, mais dès que l'on veut le gérer avec du code, il ne donne que des infos partielles voir nulle listbox [ par speed10 ] bonjour, j'ai 2 listbox et je veux récupérer les 2 items selectionnées ensuite je veux les concaténées est ce que c possible(asp.net c#)?mon code:stri Recuperer les valeurs de ListBox [ par hkayne ] BonjourJ'ai deux controles ListBox  : lst1 et lst2.J'ai crée une fonction html pour echanger des elements entre lst1 et lst2.Le probleme est quand je


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.