Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
1 mai 2007 2 01 /05 /mai /2007 12:43
Pour illustrer cette méthode nous allons prendre un exemple concret.

Imaginons que nous avons une liste d'articles classés par famille et que nous voulions utiliser un ComboBox contenant la liste des familles pour filtrer la liste des articles. Nous voulons également ajouter "<Toutes>" à la liste des familles du ComboBox pour pouvoir annuler le filtre et retrouver la liste complète de nos articles.

Pour commencer nous allons ajouter une class au code de notre WinForm :


Code:
Public Class ListItem

        Public Value As Object
        Public Text As String

        Public Sub New(ByVal NewValue As Object, ByVal NewText As String)
            Value = NewValue
            Text = NewText
        End Sub

        Public Overrides Function ToString() As String
            Return Text
        End Function
End Class




Maintenant nous allons créer la liste des familles dans notre ComboBox à l'aide d'une table contenant 2 champs (PrimaryKey, Famille) :


Code:
Dim myTable as DataTable
Dim item As DataRow

'**** içi le code pour remplir mon DataTable

MyComboBox.Items.Add(New ListItem("0", "<Toutes>"))
   For Each item In myTable.Rows
       MyComboBox.Items.Add(New ListItem(item("PrimaryKey"), item("Famille")))
   Next
MyComboBox.SelectedIndex = 0


Pour récupérer les données de chaque Item il faut procéder de cette façon :

Code:
Dim myValue as Integer
Dim myText as String

myValue=CType(myComboBox.SelectedItem, ListItem).Value
myText=CType(myComboBox.SelectedItem, ListItem).Text


La puissance de cette méthode réside dans le faite que vous pouvez ajouter autant de paramètres que vous voulez dans la class ListItem.

Partager cet article

Repost 0
Published by Cyril Hennebique - dans VB.NET
commenter cet article

commentaires