Bonjour a tous j'ai un winform avec un datagrid. ce dernier est rempli a partir d'un objet collection heritant de Collections.CollectionBase et comprenant des objets dont les données affichées sont des propriétés. L'affichage "basique" de la collection fonctionne. Mais je n'arrive pas a personnaliser l'affichage du datagrid via la collection tablestyle....
voici mon code
Code :
Public Class Frm_Liste_Utilisateurs
Inherits System.Windows.Forms.Form
Private collUtilisateurs As Utilisateurs
Private Sub Frm_Liste_Utilisateurs_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim oGrp_Utilisateurs As New Groupe_Utilisateurs()
oGrp_Utilisateurs.ID = 0
oGrp_Utilisateurs.Lister_Utilisateurs()
collUtilisateurs = oGrp_Utilisateurs.Utilisateurs
'Afficher les données dans le datagrid
DG_Utilisateurs.DataSource = collUtilisateurs
DG_Utilisateurs.ReadOnly = True
Dim oTableau As New DataGridTableStyle
oTableau.MappingName = "Utilisateur[]"
'Construire les différentes colonnes
Dim oColNom As New DataGridTextBoxColumn
oColNom.MappingName = "Nom"
oColNom.HeaderText = "Nom"
oTableau.GridColumnStyles.Add(oColNom)
Dim oColID As New DataGridTextBoxColumn
oColID.MappingName = "ID"
oColID.HeaderText = "ID"
oTableau.GridColumnStyles.Add(oColID)
'Affecter le tableau au datagrid
DG_Utilisateurs.TableStyles.Clear()
DG_Utilisateurs.TableStyles.Add(oTableau)
End sub
End class
Public Class Utilisateurs
Inherits Collections.CollectionBase
Public Sub Add(ByVal oUtilisateur As Utilisateur)
Me.List.Add(oUtilisateur)
End Sub
Public ReadOnly Property Items(ByVal Index As Integer) As Utilisateur
Get
Return CType(Me.List(Index), Utilisateur)
End Get
End Property
Public Function GetItem(ByVal intID As Int16) As Utilisateur
'Renvoyer l'element de la collection correspondant au nom saisi
Dim oUtilisateur As Utilisateur
For Each oUtilisateur In Me.List
If oUtilisateur.ID = intID Then
GetItem = oUtilisateur
Exit For
End If
Next
End Function
End Class
Public Class Utilisateur
Implements IDisposable
Public Property ID() As Int16
Get
ID = intID
End Get
Set(ByVal Value As Int16)
intID = Value
End Set
End Property
Public Property Nom() As String
Get
Nom = strNom
End Get
Set(ByVal Value As String)
strNom = Value
End Set
End Property
Public Property Lib_Groupe() As String
Get
Lib_Groupe = strLib_Grp
End Get
Set(ByVal Value As String)
strLib_Grp = Value
End Set
End Property
Public Property Login() As String
Get
Login = strLogin
End Get
Set(ByVal Value As String)
strLogin = Value
End Set
End Property
Public PassWord As String
Public ID_Groupe As Int16
Private strNom As String
Private strLogin As String
Private strLib_Grp As String
Private intID As Int16
End Class
et donc malgres tout le datagrid m'affiche toutes les propriétés de ma classe utilisateur alors qu'il ne devrait m'afficher que 2 colonnes.
Merci d'avance pour votre aide
Message édité par silimalaris le 07-01-2005 à 11:05:47
Marsh Posté le 07-01-2005 à 10:44:05
Bonjour a tous
j'ai un winform avec un datagrid.
ce dernier est rempli a partir d'un objet collection heritant de Collections.CollectionBase et comprenant des objets dont les données affichées sont des propriétés.
L'affichage "basique" de la collection fonctionne.
Mais je n'arrive pas a personnaliser l'affichage du datagrid via la collection tablestyle....
voici mon code
et donc malgres tout le datagrid m'affiche toutes les propriétés de ma classe utilisateur alors qu'il ne devrait m'afficher que 2 colonnes.
Merci d'avance pour votre aide
Message édité par silimalaris le 07-01-2005 à 11:05:47