Copiato dalla documentazione:

codice:
<%@ Import Namespace="System.Data" %>

<html>
<script language="VB" runat="server">

    Dim Cart As DataTable
    Dim CartView As DataView

    Sub Page_Load(sender As Object, e As EventArgs)
        Dim dr As DataRow
        Dim I As Integer

        If Session("DG6VB_ShoppingCart") Is Nothing Then
            Cart = New DataTable()
            Cart.Columns.Add(new DataColumn("Qty", GetType(String)))
            Cart.Columns.Add(new DataColumn("Item", GetType(String)))
            Cart.Columns.Add(new DataColumn("Price", GetType(String)))
            Session("DG6VB_ShoppingCart") = Cart

            'Make some rows and put some sample data in
            For I = 1 To 4
                dr = Cart.NewRow()
                If (i Mod 2 <> 0) Then
                    dr(0) = "2"
                Else
                    dr(0) = "1"
                End If
                dr(1) = "Item " & i.ToString
                dr(2) = (1.23 * (i + 1)).ToString
                Cart.Rows.Add(dr)
            Next
        Else
            Cart = Session("DG6VB_ShoppingCart")
        End If

        CartView = New DataView(Cart)
        CartView.Sort="Item"
        If Not IsPostBack Then
            ' need to load this data only once
            BindGrid
        End If

    End Sub

    Sub MyDataGrid_Edit(sender As Object, e As DataGridCommandEventArgs)
        MyDataGrid.EditItemIndex = e.Item.ItemIndex
        BindGrid
    End Sub

    Sub MyDataGrid_Cancel(sender As Object, e As DataGridCommandEventArgs)
        MyDataGrid.EditItemIndex = -1
        BindGrid
    End Sub

    Sub MyDataGrid_Update(sender As Object, e As DataGridCommandEventArgs)
        ' For bound columns the edited value is stored in a textbox,
        ' and the textbox is the 0th element in the column's cell
        Dim qtyText As TextBox = e.Item.Cells(2).Controls(0)
        Dim priceText As TextBox = e.Item.Cells(3).Controls(0)

        Dim item As String = e.Item.Cells(1).Text
        Dim qty As String = qtyText.Text
        Dim price As String = priceText.Text

        ' with a database, we'd use an update command.  Since we're using an in-memory
        ' DataTable, we'll delete the old row and replace it with a new one
        ' remove old entry
        CartView.RowFilter = "Item='" & item & "'"
        If CartView.Count > 0 Then
            CartView.Delete(0)
        End If
        CartView.RowFilter = ""

        'add new entry
        Dim dr As DataRow = Cart.NewRow()
        dr(0) = qty
        dr(1) = item
        dr(2) = price
        Cart.Rows.Add(dr)

        MyDataGrid.EditItemIndex = -1
        BindGrid
    End Sub

    Sub BindGrid()
        MyDataGrid.DataSource = CartView
        MyDataGrid.DataBind
    End Sub

</script>

<body style="font: 10pt verdana">

  <form runat="server">

    <h3><font face="Verdana">Utilizzo di EditCommandColumn del DataGrid</font></h3>

    <asp:DataGrid id="MyDataGrid" runat="server"
        BorderColor="black"
        BorderWidth="1"
        CellPadding="3"
        Font-Name="Verdana"
        Font-Size="8pt"
        HeaderStyle-BackColor="#aaaadd"
        OnEditCommand="MyDataGrid_Edit"
        OnCancelCommand="MyDataGrid_Cancel"
        OnUpdateCommand="MyDataGrid_Update"
        AutoGenerateColumns="false"
        >

        <Columns>
            <asp:EditCommandColumn
                EditText="Modifica"
                CancelText="Anulla"
                UpdateText="Aggiorna"
                ItemStyle-Wrap="false"
                HeaderText="Edit Command Column"
                HeaderStyle-Wrap="false"
                />
            <asp:BoundColumn HeaderText="Elemento" ReadOnly="true" DataField="Item"/>
            <asp:BoundColumn HeaderText="Quantità" DataField="Qty"/>
            <asp:BoundColumn HeaderText="Prezzo" DataField="Price"/>
        </Columns>
    </asp:DataGrid>

  </form>

</body>
</html>
Chiaramente le faccine non centrano
Ciao
Legnetto