rowupdating dans un datagrid
J'ai créé un bouton modifier dans une datagrid, lorsque je clique sur le bouton modifier j'ai mettre à jour et annuler qui s'affiche via rowediting et rowcanceledit, cela marche mais pas au niveau du rowupdating, j'ai un pb de transtypage.
voici le code
Code:
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 37 38 39 40 41
|
Protected Sub liste_chose_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles liste_chose.RowUpdating
Dim paramId_chose As SqlParameter
Dim paramNom_chose As SqlParameter
Dim paramPx_chose As SqlParameter
Dim ctn As String = "Data Source=DEVBV;Initial Catalog=CHOSE;User ID=sa"
Dim id_chose As Integer
Dim nom_chose As String
Dim px_chose As String
Dim comUpdate As New SqlCommand
Dim daUpdate As New SqlDataAdapter
connection(ctn, comUpdate)
'affiche la datagrid
charger_source()
'récupère l'id dans la datatable
id_chose = dt.Rows(e.RowIndex).Item(0)
nom_chose = CType(liste_chose.Rows(e.RowIndex).Cells(1).Controls(0), TextBox).Text.Trim
px_chose = CType(liste_chose.Rows(e.RowIndex).Cells(2).Controls(0), TextBox).Text.Trim
comUpdate.CommandText = "update liste set nom_chose=@nom_chose,px_chose=@px_chose where id_chose=@id_chose"
paramId_chose = New SqlParameter("@id_chose", id_chose)
paramId_chose.Direction = ParameterDirection.Input
comUpdate.Parameters.Add(paramId_chose)
paramNom_chose = New SqlParameter("@nom_chose", nom_chose)
paramNom_chose.Direction = ParameterDirection.Input
comUpdate.Parameters.Add(paramNom_chose)
paramPx_chose = New SqlParameter("@px_chose", px_chose)
paramPx_chose.Direction = ParameterDirection.Input
comUpdate.Parameters.Add(paramPx_chose)
daUpdate.SelectCommand = comUpdate
daUpdate.Fill(dt)
charger_source()
seDeconnecter(ctn, comUpdate) |
Lorsque je clique sur mettre à jour, j'ai l'erreur suivante :
Impossible d'effectuer un cast d'un objet de type 'System.Web.UI.WebControls.DataControlButton' en type 'System.Web.UI.WebControls.TextBox'.
Merci d'avance