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 :

[VB.NET] gridview rowupdating: La référence d'objet n'est pas définie à une instance d'un objet.


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Décembre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 8
    Par défaut [VB.NET] gridview rowupdating: La référence d'objet n'est pas définie à une instance d'un objet.
    Bonjour tout le monde,
    depuis plus d'une semaine je parcours le net pour une solution au problème ci-dessous.
    J'ai un gridview que je remplis après clic sur un bouton qui exécute une requête sql avec la clause where définit.
    capture de la definition du gridview

    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
        <asp:GridView ID="dgvAgent" runat="server" CellPadding="4" ForeColor="#333333" AllowSorting="True"
            GridLines="None" AutoGenerateColumns="False" AutoGenerateEditButton="True" DataKeyNames="Matricule" 
            >
            <RowStyle BackColor="#E3EAEB" />
            <Columns>
                <asp:BoundField DataField="Matricule" HeaderText="Matricule:" ReadOnly="false" 
                    SortExpression="Matricule" />
                <asp:BoundField DataField="Nom" HeaderText="Nom:" SortExpression="Nom" />
               <asp:BoundField DataField="Compte" HeaderText="Compte:" 
                    SortExpression="Compte" />
                <asp:BoundField DataField="Categorie" HeaderText="Categorie:" 
                    SortExpression="Categorie" />
                <asp:BoundField DataField="Sexe" HeaderText="Sexe:" SortExpression="Sexe" />
            </Columns>
            <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#7C6F57" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
    ci dessous la portion de mon code qui renvoie l'erreur signalé dans l'intitulé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Protected Sub dgvAgent_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles dgvAgent.RowUpdating
    
            Dim index As Integer = dgvAgent.EditIndex
            Dim row As GridViewRow = dgvAgent.Rows(index)
            Dim nom As String
            Dim t1 As New TextBox
            t1 = dgvAgent.Rows(dgvAgent.EditIndex).Cells(2).FindControl("Nom")
            nom = t1.Text
    La référence d'objet n'est pas définie à une instance d'un objet.
    ...
    
    end sub
    nb:
    ci dessous mon code dans le rowediting
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Protected Sub dgvAgent_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles dgvAgent.RowEditing
            dgvAgent.EditIndex = e.NewEditIndex
            BindData()
    end sub
    ci-dessous le code de la procédure binddata()
    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
     
    Public Sub BindData()
     
            Dim Requete As String
            Requete = "select * from agent where nom like '%" & Me.txtRechercher.Text & "%'"
            Dim daAgent As New SqlDataAdapter(Requete, ChaineDeConnexion)
            Dim AgentDs As New dsEcoSante
            AgentDs.EnforceConstraints = False
            daAgent.Fill(AgentDs.AGENT)
     
            dgvAgent.DataSource = AgentDs.AGENT.DefaultIfEmpty
            'dgvAgent.DataKeyNames = "matricule"
            dgvAgent.DataBind()
            lblNombreEnregistrement.Text = dgvAgent.Rows.Count.ToString & " enregistrement(s) trouvé(s)."
     
    End Sub
    ci dessous la procédure qui charge les donnees dans le gridview
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Protected Sub CmdRechercher_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles CmdRechercher.Click
            BindData()
    End Sub
    j'espère avoir fourni toutes les info devant vous permettre de m'aider plus efficacement.
    Prière me donner un coup de main pour me sortir de cette frustration.
    merci d'avance

  2. #2
    Membre éclairé Avatar de Yolak
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 341
    Par défaut
    Heuu... La listBox n'est pas créée ?

    il faudrait pas affecter une listbox à ta variable ?

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 8
    Par défaut
    Citation Envoyé par Yolak Voir le message
    Heuu... La listBox n'est pas créée ?

    il faudrait pas affecter une listbox à ta variable ?

    cool yolak
    merci yolak de te pencher sur mon problème. je suppose que tu fais allusion à mon textbox t1(je n'ai pas de listbox dans mon code).
    en réalité j'avais écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Protected Sub dgvAgent_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles dgvAgent.RowUpdating
    
            Dim index As Integer = dgvAgent.EditIndex
            Dim row As GridViewRow = dgvAgent.Rows(index)
            Dim nom As String
            Dim t1 As New TextBox
            t1 = ctype(dgvAgent.Rows(dgvAgent.EditIndex).Cells(2).FindControl("Nom"),textbox).
        nom = t1.Text
    mais j'avoue que je ne comprend pas ce que tu tentes de m'expliquer.

  4. #4
    Membre éclairé Avatar de Yolak
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 341
    Par défaut
    Effectivement, je faisais allusion a ta textbox. Désolé...

    Ce que je veux dire, c'est que moi, quand j'utilise une variable de type textbox (ou listbox :p), je lui affecte une textbox que j'ai créé au préalable, soit par programmation, soit par création graphique.

    Sur ma fenêtre, j'ai une textbox qui se nomme textbox1 et dans le code:
    t1=textbox1

    Sinon, par programmation, essaye d'ajouter :
    Avant de lui affecter une valeur...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/11/2013, 10h24
  2. Réponses: 2
    Dernier message: 01/08/2013, 15h40
  3. Réponses: 8
    Dernier message: 04/06/2007, 16h20
  4. Réponses: 24
    Dernier message: 01/06/2007, 09h26
  5. Réponses: 8
    Dernier message: 11/07/2006, 17h27

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