Visualizzazione dei risultati da 1 a 10 su 10

Discussione: OnEditCommandColumn

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573

    OnEditCommandColumn

    Forse non riesco a capire come funziona...
    io ho:
    <aspataGrid id="Fornitori" runat="server"
    AutoGenerateColumns="False"
    OnEditCommand="Fornitori_Edit"
    OnCancelCommand="Fornitori_Cancel"
    OnUpdateCommand="Fornitori_Update">

    <Columns>
    ...
    ...
    <aspEditCommandColumn
    EditText="Edit"
    CancelText="Cancel"
    UodateText="Update"
    HeaderText="Edit">
    </Columns>
    </aspataGrid>

    ....che mi sono persa che manca???
    Mi da errore e mi dice che Fornitori_Edit is not a member di nomepagina.aspx

    è la prima volta che cerco fare questa cosa probabilmente nn ho capito io bene come funziona
    Grazie Elisa

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    Fornitori_Edit è il nome di una sub (se programmi in vb .net) o di 1 void (se programmi in cs) .. controlla se esiste

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573

    ...

    in vb... no nn esite (e programmare è una parola grossa! cerco di imparare!)

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    no nn esite
    ecco .. deve esistere

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573

    ...

    ...si lo avevo intuito!!!

    ma come deve essere costruita questa sub? nn ti voglio far perdere tempo... se sai di un esempio chiaro da qualche parte me lo vado a vedere..
    Grazie Elisa

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    ma l'hai copiato da qualke parte o l'hai scritto tu??

  7. #7
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    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

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573

    ...

    grazie mille! efficentissimo!

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    1,482
    Guarda Legnetto ho fatto una magia, non ci sono più le faccine

    Hey hey, my my Rock and roll can never die!

  10. #10
    Utente di HTML.it L'avatar di Legnetto
    Registrato dal
    May 2002
    Messaggi
    1,419
    Resta di stucco è uno ZAMPATRUCCO!!!!
    Battuta che forse capiranno solo quelli della mia generazione...
    Ciao
    Legnetto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.