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

ASP.NET Discussion :

Boundfield visible dans Gridview


Sujet :

ASP.NET

  1. #1
    Mvu
    Mvu est déconnecté
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 248
    Par défaut Boundfield visible dans Gridview
    Bonjour

    avec le code ci-dessous, je souhaite rendre mon GridView1 visible au chargement de la page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    
    
            Dim bFld As BoundField = Nothing
            bFld.Visible = True
            GridView1.Columns.Add(bFld)
      
        End Sub
    Mais la ligne en rouge déclenche l'erreur suivante:
    La référence d'objet n'est pas définie à une instance d'un objet.

    Pourquoi ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    parce que bFld est null (Nothing), tu lui as donné cette valeur juste au-dessus...

  3. #3
    Mvu
    Mvu est déconnecté
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 248
    Par défaut
    Ok, mais si je supprime = Nothing, le problème reste le même

    Et bFld is used before it has been assigned a value.A null reference exception could result at runtime.

  4. #4
    Mvu
    Mvu est déconnecté
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 248
    Par défaut
    Voici mon nouveau code. Ne génère aucune erreur mais ne rélaise pas l'effet voulu sur mon GridView1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
     
            Dim bFld As BoundField = New BoundField()
            bFld.Visible = False
            GridView1.Columns.Add(bFld)
        End Sub

  5. #5
    Membre chevronné Avatar de predalpha
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 392
    Par défaut
    essaies de mettre ce code dans l'initialisation de la page et non dans le load ?

  6. #6
    Mvu
    Mvu est déconnecté
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 248
    Par défaut
    Nada,change rien.
    Mais est-ce que la ligne bFld.Visible = False est correctement écrite ?
    J'ai aussi essayé bFld.Visible = "False" mais marche pas non plus.

  7. #7
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Et
    GridView1.Columns(0).Controls.Add(bFld)

  8. #8
    Mvu
    Mvu est déconnecté
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 248
    Par défaut
    Il n'aime pas non plus...

  9. #9
    Mvu
    Mvu est déconnecté
    Membre éclairé
    Inscrit en
    Septembre 2002
    Messages
    248
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 248
    Par défaut
    Bo, j'ai réolu le problème aurement et plus avantageusement en ce qui me concerne. Je crée carrément mon GridView dans le codebehind.

    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
    31
    32
    33
    34
    35
    36
    Partial Class Default2
        Inherits System.Web.UI.Page
        Public pLang As String
     
        Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
            Dim ods As New ObjectDataSource
            Dim bf As BoundField = Nothing
            pLang = Request.QueryString("Lang")
     
            'on ne veut pas générer les colonnes automatiquement
            GridView1.AutoGenerateColumns = False
     
            If Not Page.IsPostBack Then
                If pLang = "Fr" Then
                    bf = New BoundField
                    bf.HeaderText = "categoryDescFr"
                    bf.DataField = "categoryDescFr"
                    GridView1.Columns.Add(bf)
                    bf.ItemStyle.Width = New Unit("140", UnitType.Pixel)
     
                    bf = New BoundField
                    GridView1.Columns.Add(bf)
     
                Else
                    bf = New BoundField
                    bf.HeaderText = "categoryDescNl"
                    bf.DataField = "categoryDescNl"
                    GridView1.Columns.Add(bf)
                    bf.ItemStyle.Width = New Unit("540", UnitType.Pixel)
     
                    bf = New BoundField
                    GridView1.Columns.Add(bf)
                End If
            End If
     
        End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/01/2006, 14h54
  2. Données visible dans formulaire
    Par funny_surf dans le forum IHM
    Réponses: 1
    Dernier message: 27/12/2005, 09h58
  3. Impossible de changer Visible dans OnHide ou OnShow
    Par marsupilami34 dans le forum Composants VCL
    Réponses: 10
    Dernier message: 21/06/2005, 13h24
  4. Records visibles dans un DbGrid
    Par claude dans le forum Bases de données
    Réponses: 5
    Dernier message: 15/04/2005, 10h09
  5. [VB.NET] Variable visible dans plusieurs fonctions ?
    Par Webman dans le forum ASP.NET
    Réponses: 2
    Dernier message: 19/05/2004, 17h36

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