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
Lorsque je clique sur mettre à jour, j'ai l'erreur suivante :
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
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)
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
Partager