DataGridView1.Columns("CATEGORIE").Visible = True
je cherche à construire de façon dynamique et par du code un datagridview
Dim NewDataGrid As New DataGrid Controls.Add(NewDataGrid)
Public Type PARAM nom() As String ' ou Index() As Integer visible() as boolean largeur() As Integer End Type
je cherche un moyen efficace pour regrouper dans une collection ou autre toutes les propriétés des colonnes d'un Datagridview
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionDataGridView1.Columns.IndexOf("CATEGORIE").visible = true
Public Sub LoadDataFormOnChangeSession() ' Cette procédure est appelé lors d'un changement de Session Utilisateur ou au moment du chargement du formulaire ' Construction des colonnes dont la position n'est pas imposé : Call BuildColonnes("TextBox", ChampsE_Taches.ID_TACHE, "N°", "N° de tache", 30, False, True, True, "Add") Call BuildColonnes("Image", "ICO_TYPE", "Type", "Icone type document", 30, False, True, True, "Add") Call BuildColonnes("Image", "ICO_STATUT", "Statut", "Icone de statut", 30, False, True, True, "Add") Call BuildColonnes("TextBox", "CATEGORIE", "Catégorie", "Catégorie", 60, False, True, True, "Add") Call BuildColonnes("TextBox", "SUJET", "SUJET", "Sujet", 300, False, False, True, "Add") Call BuildColonnes("CheckBox", "VALIDE_AT", "Validé par l'auteur", "Validé par l'auteur", 50, False, True, True, "Add") Call BuildColonnes("CheckBox", "VALIDE_CP", "Validé par le chef de projet", "Validé par le chef de projet", 50, False, True, True, "Add") Call BuildColonnes("CheckBox", "TERMINE", "Terminé", "Terminé", 50, False, True, True, "Add") ' Construction des colonnes dont la position est imposées : Call BuildColonnes("TextBox", "TYPE", "Type", "Type", 50, False, True, True, "Insert", PosColTypeTache) Call BuildColonnes("TextBox", "STATUT", "Statut", "Statut", 50, False, True, True, "Insert", PosColStateTache) End Sub Private Sub BuildColonnes(Type As String, Name As String, HeaderText As String, ToolTiptext As String, Width As Integer, Rezizable As Boolean, Read_Only As Boolean, Visible As Boolean, Mode As String, Optional Position As Integer = 0) ' Construction et initialisation des colonnes du Datagridview : Dim i As Integer Select Case Type Case Is = "TextBox" Dim Col As New DataGridViewTextBoxColumn Col.DataPropertyName = Name Col.Name = Name Col.HeaderText = HeaderText Col.Width = Width Col.Resizable = Rezizable Col.ToolTipText = ToolTiptext Col.ReadOnly = Read_Only Col.Visible = Visible Select Case Mode Case Is "Add" : i DataGridView1.Columns.Add(Col) Case Is = "Insert" : DataGridView1.Columns.Insert(Position, Col) End Select Case Is = "CheckBox" Dim Col As New DataGridViewCheckBoxColumn Col.DataPropertyName = Name Col.Name = Name Col.HeaderText = HeaderText Col.Width = Width Col.Resizable = Rezizable Col.ToolTipText = ToolTiptext Col.ReadOnly = Read_Only Col.Visible = Visible Select Case Mode Case Is "Add" : i DataGridView1.Columns.Add(Col) Case Is = "Insert" : DataGridView1.Columns.Insert(Position, Col) End Select Case Is = "Image" Dim Col As New DataGridViewImageColumn Col.DefaultCellStyle.ForeColor = Color.Transparent Col.DefaultCellStyle.SelectionForeColor = Color.Transparent Col.DataPropertyName = Name Col.Name = Name Col.HeaderText = HeaderText Col.Width = Width Col.Resizable = Rezizable Col.ToolTipText = ToolTiptext Col.ReadOnly = Read_Only Col.Visible = Visible Select Case Mode Case Is "Add" : i DataGridView1.Columns.Add(Col) Case Is = "Insert" : DataGridView1.Columns.Insert(Position, Col) End Select End Select End Sub Private Sub ColonnesVisible() ' Cette procédure est appelé lors d'un changement de Session Utilisateur Dim Col As DataGridViewColumn Select Case MyUser.Privilège Case Is = Privilèges.Administrateur DataGridView1.Columns.IndexOf("CATEGORIE").visible = true DataGridView1.Columns.IndexOf("SUJET").visible = true ...... Case Is = Privilèges.Utilisateur DataGridView1.Columns.IndexOf("CATEGORIE").visible = false DataGridView1.Columns.IndexOf("SUJET").visible = false ...... End Select End Sub