[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:
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:
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:
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:
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:
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.:cry:
merci d'avance