[DATAGRIDVIEW]comment afficher un libellé à la place d'un numéro dans un datagridview
Bonjour,
J'ai un DATAGRIDVIEW qui se rempli de cette façon :
Code:
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
| ' *** INITIALISATION DES DISQUES SERVEURS *** '
Sub init_serveurs_disques()
' --- Déclaration de variable
Dim connection As New SqlClient.SqlConnection(VGconnexion)
Dim command As SqlClient.SqlCommand
Dim ds As DataSet
Dim da As SqlClient.SqlDataAdapter
' --- Activation des contrôle du formulaire
serveurs.nouveau.Enabled = True
serveurs.DATA_SERVEUR.Enabled = True
' --- Suppression des colonnes
serveurs.DATA_SERVEUR.Columns.Clear()
' --- Ouverture de la connexion à la Base de données
Try
connection.Open()
' --- Cas d'erreur
Catch
' --- Message d'erreur
message_erreur_ouverture_bdd()
End Try
' --- Initialisation de la requête SQL pour remplir le DATAGRIDVIEW
command = New SqlClient.SqlCommand
command.Connection = connection
command.CommandText = "select * from SERVEUR_DISQUE"
' --- Initalisation DATASET et SQLADAPTATER pour acceuillir le résultat de la requete
ds = New sauvegarde
da = New SqlClient.SqlDataAdapter
da.SelectCommand = command
' --- Ouverture de la connection + remplissage du dataset
da.Fill(ds, "SERVEUR_DISQUE")
' --- Intégration des données du DATASET dans le DATAGRIDVIEW
serveurs.DATA_SERVEUR.DataSource = ds.Tables("SERVEUR_DISQUE")
' --- Fermeture de la connexion à la base
Try
connection.Close()
' --- Cas d'erreur
Catch
' --- Message d'erreur
message_erreur_fermeture_bdd()
End Try
' --- Initialisation du Bouton MODIFIER
Dim boutonmodifier As New DataGridViewButtonColumn
' --- Déclaration des paramètres du bouton MODIFIER
With boutonmodifier
.HeaderText = "MODIFIER"
.Name = "modifier"
.Text = "M"
.UseColumnTextForButtonValue = True
End With
' --- Initialisation du bouton SUPPRIMER
Dim boutonsupprimer As New DataGridViewButtonColumn
' --- Déclaration des paramètres du bouton SUPPRIMER
With boutonsupprimer
.HeaderText = "SUPPRIMER"
.Name = "supprimer"
.Text = "X"
.UseColumnTextForButtonValue = True
End With
' --- Affichage des boutons dans les colonnes 4 et 5
serveurs.DATA_SERVEUR.Columns.Insert(6, boutonmodifier)
serveurs.DATA_SERVEUR.Columns.Insert(7, boutonsupprimer)
serveurs.DATA_SERVEUR.Columns(6).Width = 85
serveurs.DATA_SERVEUR.Columns(7).Width = 90
' --- Lecture seule des données de la table DISQUE SERVEUR
serveurs.DATA_SERVEUR.Columns(0).ReadOnly = True
serveurs.DATA_SERVEUR.Columns(1).ReadOnly = True
serveurs.DATA_SERVEUR.Columns(2).ReadOnly = True
serveurs.DATA_SERVEUR.Columns(3).ReadOnly = True
serveurs.DATA_SERVEUR.Columns(4).ReadOnly = True
serveurs.DATA_SERVEUR.Columns(5).ReadOnly = True
' ------------------------------
' ---- MIS EN FORME
boutonsupprimer.DefaultCellStyle.BackColor = Color.OrangeRed
boutonmodifier.DefaultCellStyle.BackColor = Color.LightGreen
serveurs.DATA_SERVEUR.Columns(0).HeaderText = "N°"
serveurs.DATA_SERVEUR.Columns(0).Width = 30
serveurs.DATA_SERVEUR.Columns(1).HeaderText = "LIBELLE"
serveurs.DATA_SERVEUR.Columns(1).Width = 120
serveurs.DATA_SERVEUR.Columns(2).HeaderText = "TAILLE"
serveurs.DATA_SERVEUR.Columns(2).Width = 70
serveurs.DATA_SERVEUR.Columns(3).HeaderText = "OID SNMP"
serveurs.DATA_SERVEUR.Columns(3).Width = 120
serveurs.DATA_SERVEUR.Columns(4).HeaderText = "SERVEUR"
serveurs.DATA_SERVEUR.Columns(4).Width = 90
serveurs.DATA_SERVEUR.Columns(5).HeaderText = "TYPE"
serveurs.DATA_SERVEUR.Columns(5).Width = 70
' ------------------------------
' ------------------------------
' --- Mise en forme des boutons de MENU
serveurs.bouton_disques.BackgroundImage = Nothing
serveurs.bouton_disques.BackColor = Color.White
serveurs.bouton_disques.ForeColor = Color.Black
' --- Les Autres
serveurs.bouton_serveurs.BackgroundImage = TDB.My.Resources.BOUTON1
serveurs.bouton_serveurs.ForeColor = Color.White
serveurs.bouton_serveurs.BackColor = Color.Silver
serveurs.bouton_type_disque.BackgroundImage = TDB.My.Resources.BOUTON1
serveurs.bouton_type_disque.ForeColor = Color.White
serveurs.bouton_type_disque.BackColor = Color.Silver
End Sub |
Pour la colonne SERVEUR, ça affiche le numéro du serveur dans la table SERVEUR.
Mais est ce qu'il y a moyen d'afficher le libellé sachant que lorsque je clique sur un bouton MODIFIER ou SUPPRIMER ça m'ouvre un formulaire avec en particulier une LISTBOX Serveur où la valeur de l'enregistrement est sélectionné via le SelectedValue "NUMERO_SERVEUR".
Initialisation de ma LISTBOX Serveur :
Code:
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
' --- Déclaration de variable
Dim connection As New SqlClient.SqlConnection(VGconnexion)
Dim command As SqlClient.SqlCommand
Dim ds As DataSet
Dim da As SqlClient.SqlDataAdapter
' --- Ouverture de la connexion à la Base de données
Try
connection.Open()
' --- Cas d'erreur
Catch
' --- Message d'erreur
message_erreur_ouverture_bdd()
End Try
' --- Initialisation de la requête SQL pour remplir le DATAGRIDVIEW
command = New SqlClient.SqlCommand
command.Connection = connection
command.CommandText = "select * from SERVEUR"
' --- Initalisation DATASET et SQLADAPTATER pour acceuillir le résultat de la requete
ds = New sauvegarde
da = New SqlClient.SqlDataAdapter
da.SelectCommand = command
' --- Ouverture de la connection + remplissage du dataset
da.Fill(ds, "SERVEUR")
' --- Remplissage de la listbox SERVEUR
' --- Vidage de la LISTBOX
serveurs_disque_modifier.numero_serveur.Items.Clear()
' --- Intégration des données du DATASET dans la LISTBOX
serveurs_disque_modifier.numero_serveur.DataSource = ds.Tables("SERVEUR")
serveurs_disque_modifier.numero_serveur.DisplayMember = "nom_serveur"
serveurs_disque_modifier.numero_serveur.ValueMember = "numero_serveur"
' --- Fermeture de la connexion à la base
Try
connection.Close()
' --- Cas d'erreur
Catch
' --- Message d'erreur
message_erreur_fermeture_bdd()
End Try |
Initialisation du formulaire de modification :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| ' --- Ouverture du formulaire de modification
serveurs_disque_modifier.Show()
serveurs_disque_modifier.FormBorderStyle = Windows.Forms.FormBorderStyle.None
' --- Récupération des données de la ligne
celulle1 = DATA_SERVEUR.Rows(e.RowIndex).Cells(0).Value.ToString()
celulle2 = DATA_SERVEUR.Rows(e.RowIndex).Cells(1).Value.ToString()
celulle3 = DATA_SERVEUR.Rows(e.RowIndex).Cells(2).Value.ToString()
celulle4 = DATA_SERVEUR.Rows(e.RowIndex).Cells(3).Value.ToString()
celulle5 = DATA_SERVEUR.Rows(e.RowIndex).Cells(4).Value.ToString()
celulle6 = DATA_SERVEUR.Rows(e.RowIndex).Cells(5).Value.ToString()
' --- Remplissage des TEXTBOX du formulaire de modification
serveurs_disque_modifier.numero.Text = celulle1
serveurs_disque_modifier.nom.Text = celulle2
serveurs_disque_modifier.capacite.Text = celulle3
serveurs_disque_modifier.OID.Text = celulle4
serveurs_disque_modifier.numero_serveur.SelectedValue = celulle5
serveurs_disque_modifier.numero_type_disque.SelectedValue = celulle6 |
Ma question est comment mettre le nom du serveur à la place du numéro tout en sachant que j'initialise la valeur de ma listbox par le biais du numéro.
Merci d'avance pour votre aide,
.Matt