équivalent itemdata en vb.net

Soyez le premier à donner votre avis sur cette source.

Snippet vu 2 322 fois - Téléchargée 9 fois


Contenu du snippet

en vb.net il n'existe pas de valeur itemdata
ce petit bout de code y remedie.
allez dans la procédure listbox_additem(ByVal sender As Object, ByVal index As Integer, ByVal value As String)
lorsque l'on ajoute un élément
allez dans la procédure listbox_removeitem(ByVal sender As Object, ByVal index As Integer)
lorsque l'on supprime un élément
utiliser itemdata =nothing pour remettre a zéro le tableau itemdata
Code:
Dim itemdata() As String ''tableau itemdata pour listbox/combobox
''on ajoute une entrée a une listbox/combobox
Private Sub listbox_additem(ByVal sender As Object, ByVal index As Integer, ByVal value As String)
 Dim n As Integer
 If itemdata Is Nothing Then
  n = 0
 Else
  n = itemdata.GetUpperBound(0) + 1
 End If
 ReDim Preserve itemdata(n) ''on redimmensione le tableau ItemData
 itemdata(index) = value ''on affecte la valeur
End Sub
''on supprime une entrée a une listbox/combobox
Private Sub listbox_removeitem(ByVal sender As Object, ByVal index As Integer)
 Dim n As Integer, i As Integer
 Dim tp() As String
 ReDim tp(itemdata.GetUpperBound(0)) 'on crée un tableau temporaire d'itemdata
 n = sender.items.count - 1
 n = -1
 For i = 0 To itemdata.GetUpperBound(0)
  tp(i) = itemdata(i)
  If i <> index Then
   n = n + 1
   itemdata(n) = tp(i)
  End If
 Next
 ReDim Preserve itemdata(n) 'on supprime le tableau temporaire
 Erase tp
End Sub

A voir également

Ajouter un commentaire

Commentaire

NHenry
Messages postés
14599
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 décembre 2019
137 -
Code très mauvais alors qu'une solution plus .NET existe :
- On évite les ReDim de tableau en .NET, si on a besoin d'une liste, on utilise une liste System.Collection.Generic.List(of T)
- Méthode plus esthétique pour avoir des données avec un item consiste à créer une classe et de réécrire le ToString :
friend class ClsItem
 
 Public Nom as string
 
 Public Id as Long
 
 
 public overrides function ToString() as string
  Return Nom
 end function
 
end Class


Ensuite, une instance à chaque item et quand tu veux récupérer la valeur, un cast (avec CType ou DirectCast) pour récupérer les données.

La ListBox accepte des Objects en items.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.