Mes début en VB.NET

Résolu
Tchaironne Messages postés 1 Date d'inscription lundi 8 mai 2006 Statut Membre Dernière intervention 13 mai 2007 - 13 mai 2007 à 23:24
 Utilisateur anonyme - 14 mai 2007 à 00:17
Alors voila, je viens de débuter en VB.NET et je code depuis pas mal d'année sous VB6 ....

Lors de mes applis, j'avais l'habitude d'utiliser les .itemdata des combobox pour par exemple stocker des prix ...

Exemple concret :

Le cas d'une sandwicherie ....

combobox1.additem("Demi Baguette") -> demi baguette
combobox1.itemdata(combobox1.newindex) = 2  -> coute 2?

combobox1.additem("Baguette") -> baguette
combobox1.itemdata(combobox1.newindex) = 3  -> coute 3?

Je pouvais ensuite retrouver le prix en faisant ....
Prix = combobox1.itemdata(combobox1.listindex)

Cela était surtout utilise lorsqu'on utilisait une Database .... On affichait le nom de l'objet et on stockait son ID dans l'itemdata .... Ainsi, en cas de suppresion, modification, l'ID etait directement disponible sans devoir rechercher la chaine de caractère dans la BDD

Cependant je ne trouve plus du tout les itemdata dans la nouvelle Version de VB ....

Quelqu'un pourrait il m'aider ?

Merci d'avance ;)

1 réponse

Utilisateur anonyme
14 mai 2007 à 00:17
Salut,

Oui, cette propriétée n'existe plus.
Par contre, la méthode add peux prendre n'importe quel type (object) et on peux définir la proporiété a affiche de ces objets.
Donc, il te suffit de faire une class qui représentera un élément de ta sandwicherie.
Par exemple :



Public Class SandwicherieItem
  Private _Text As String
  Private _Prix As Integer
  Public Sub New(ByVal Text As String, ByVal Prix As Integer)
    MyClass._Text = Text
    MyClass._Prix = Prix
  End Sub
  Public ReadOnly Property Text() As String
    Get
      Return MyClass._Text
    End Get
  End Property
  Public ReadOnly Property Prix() As Integer
    Get
      Return MyClass._Prix
    End Get
  End Property
End Class,

----

(Coloration syntaxique automatique par Kenji)



Et pour ajouter :


ComboBox1.DisplayMember = "Text" ' On affichera la propriété Text des items
ComboBox1.Items.Add(New SandwicherieItem("Demi Baguette", 2))
ComboBox1.Items.Add(New SandwicherieItem("Baguette", 3)),

----

(Coloration syntaxique automatique par Kenji)




__________
 Kenji
3
Rejoignez-nous