IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

procédure pour datagrid


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 61
    Par défaut procédure pour datagrid
    Bonjour,

    J'ai plusieurs datagridview dans mon projet, dont certaines colonnes sont les mêmes.

    J'aimerai donc créer une procédure afin d'éviter de répéter chaque propriété pour chaque datagrid.

    J'ai commencé avec ça mais ils me dit que les objet n'est pas référencés à une instance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Public Sub formedatagrid(ByVal fdatagrid As DataGridView, ByVal fvisible As Boolean, ByVal nomcolonne As String, ByVal nomcolonne2 As String, ByVal nomcolonne3 As String, ByVal nomcolonne4 As String)
            Dim _fdatagrid = New DataGridView
            fdatagrid = _fdatagrid
            _fdatagrid.Columns(nomcolonne).Visible = False
            _fdatagrid.Columns(nomcolonne2).Width = 50
            _fdatagrid.Columns(nomcolonne3).Width = 50
            _fdatagrid.Columns(nomcolonne3).Width = 300
        End Sub
    Quelqu'un pourrait-il me conseiller ?

    Merci par avance,

    Cordialement

  2. #2
    Membre émérite Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Par défaut
    Salut,
    Petite question, il te sort les messages d'erreur en ukrainien et tu utilise google translate pour les traduire en anglais puis en français ? Non parce que je vois tout à fait l'erreur dont il s'agit, mais le message n'est pas le même... Ta traduction ne signifie rien pour moi.

    Bref, passons, concernant ton problème, tu fais un peu n'importe quoi dans ta fonction :

    Le premier paramètre de ta fonction est "ByVal", et c'est une DataGridView, autrement dit, on s'attend à ce que ta fonction manipule une grille passée en paramètre, mais la première chose que tu fais dans la fonction c'est de créer une nouvelle grille et d'ignorer complètement celle reçue en paramètre.

    Ensuite, sur cette nouvelle grille toute neuve et donc dépourvue de la moindre colonne, tu tente de modifier les propriétés de colonnes qui n'existent pas.

    Tu as deux possibilité de correction. Soit tu fais une fonction qui prend en paramètre une grille DEJA créée avec ses colonnes, soit tu crée une fonction qui crée la grille et ses colonnes.

    Premier cas :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim grid As New DataGridView()
    grid.Columns.Add("column1", "Ma colonne 1")
    grid.Columns.Add("column2", "Ma colonne 2")
     
    Public Sub formedatagrid(ByVal fdatagrid As DataGridView, ByVal fvisible As Boolean, ByVal nomcolonne As String, ByVal nomcolonne2 As String)
            ' Cette fonction continuera d'échouer si la grille passée ne contient pas les colonnes spécifées.
            fdatagrid.Columns(nomcolonne).Visible = False
            fdatagrid.Columns(nomcolonne2).Width = 50
    End Sub

    Second cas :
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Dim grid As DataGridView = CreateNewDataGrid()
     
    Public Fonction CreateNewDataGrid() As DataGridView
        Dim grid As New DataGridView()
        grid.Columns.Add("column1", "Ma colonne 1")
        grid.Columns.Add("column2", "Ma colonne 2")
        grid.Columns("column1").Visible = False
        grid.Columns("column2").Width = 50
    End Function

    PS : j'ai écris ça sans testé et directement dans le forums (sans IDE donc), possible qu'il y ai des faute de frappe/syntaxe.

Discussions similaires

  1. Procédure pour désinstaller MYSQL
    Par fbeon dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/11/2005, 12h04
  2. Réponses: 6
    Dernier message: 16/03/2005, 14h44
  3. Réponses: 10
    Dernier message: 22/11/2004, 22h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo