Bonjour à tous ...
Je découvre petit à petit la puissance des Listview et tente de m'y faire, vu que j'utilisait le plus souvent les Listbox auparavant.
Alors, ici je souhaite placer une Listview reprennant 2 colonnes de données en provenance d'une DB.
Voilà mon code
J'arrive à la remplir sans problèmes et à définir mes colonnes, mais se pose les problèmes suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 With Me.lb_clients .Columns.Add("Prénom", 200, HorizontalAlignment.Left) .Columns.Add("Nom", 50, HorizontalAlignment.Left) .FullRowSelect = True .View = View.Details End With Select Case int_choix Case 1 obj_command.CommandText = "Select id_client, prenom_client, nom_client, societe_client From clients Order By" & _ " prenom_client, nom_client" Case 2 obj_command.CommandText = "Select id_client, prenom_client, nom_client, societe_client From clients Order By" & _ " nom_client, prenom_client" End Select obj_command.Connection = obj_connexion Dim obj_reader As OleDbDataReader = obj_command.ExecuteReader() While obj_reader.Read() If (obj_reader("societe_client").ToString = "") Then Dim obj_lview As New ListViewItem(obj_reader("prenom_client").ToString) obj_lview.SubItems.Add(obj_reader("nom_client").ToString) lb_clients.Items.Add(obj_lview) Else 'A venir End If End While obj_reader.Close()
Etant donné que mes données de la Listview sont succeptibles d'être utilisées j'aimerais stocker de manière "invisible" l'index de ma base de données (ce qui était possible avec une Listbox (via la propriété ValueMember). Est-ce qu'il existe un moyen similaire avec une Listview ?
Deuxièmement, alors que je déclare deux colonnes, "prénom" et "nom" et bien comme la largeur affichée de la Listview est supérieur à la largeur des deux colonnes que je définis et bien il y a une troisème colonne qui apparaît et qui en fait est la répétition de la première ...
Merci de vos éclaircissements.
Partager