SVP pourquoi ce code ne fonctionne pas -editer datagrid-?
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
42
43
44
Protected Sub DataGrid1_CancelCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.CancelCommand
        Me.DataGrid1.EditItemIndex = -1
        da.Fill(ds, "emp")
        Me.DataGrid1.DataBind()
    End Sub

    Protected Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.EditCommand
        Me.DataGrid1.EditItemIndex = e.Item.ItemIndex
        da.Fill(ds, "emp")
        Me.DataGrid1.DataBind()
    End Sub


    Protected Sub DataGrid1_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand
        Dim lastname As String = CType(e.Item.Cells(2).Controls(0), TextBox).Text
        Dim id As String = Me.DataGrid1.DataKeys(e.Item.ItemIndex)
        MsgBox(lastname)
        con.Open()

        Dim cmd As New System.Data.SqlClient.SqlCommand("update employees set lastname='" & lastname & "' where employeeid='" & id & "'")
        cmd.Connection = con
        cmd.ExecuteNonQuery()
        con.Close()
        Me.DataGrid1.EditItemIndex = -1


        da.Fill(ds, "emp")
        Me.DataGrid1.DataBind()



    End Sub
    Dim con As New System.Data.SqlClient.SqlConnection("Data Source=UNICORNI-83C0A9;Initial Catalog=Northwind;Integrated Security=True")
    Dim da As New System.Data.SqlClient.SqlDataAdapter()
    Dim ds As New System.Data.DataSet
    Dim com As New System.Data.SqlClient.SqlCommand
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        com.CommandText = "select employeeid,lastname,firstname from employees"
        com.Connection = con
        da.SelectCommand = com
        da.Fill(ds, "emp")
        Me.DataGrid1.DataSource = ds
        Me.DataGrid1.DataBind()
    End Sub
lastname prend la valeur de la cellule et pas texte qui je saisi.