Visualizzazione dei risultati da 1 a 6 su 6

Discussione: EditCommandColumn

  1. #1

    EditCommandColumn

    uso una EditCommandColumn
    nell' evento dell'Update come recupero i dati dalle textbox??

  2. #2
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Sub dtgrEsempio_UpdateCommand(obj As Object, e As DataGridCommandEventArgs)

    Dim intID As Integer
    Dim txtAttivitaBreve As TextBox
    Dim txtAttivitaEsteso As TextBox

    'Recupera l'ID del record
    intID = dtgrdAttivita.DataKeys(e.Item.ItemIndex)

    'Esempio per recuperare i dati da una textBox
    txtAttivitaBreve = e.Item.Cells(0).Controls(0)
    txtAttivitaEsteso = e.Item.Cells(1).Controls(0)

    Dim strAttivitaBreve As String = txtAttivitaBreve.Text
    Dim strAttivitaEsteso As String = txtAttivitaEsteso.Text


    'Richiama la procedura archiviata
    Dim objCmd As new oleDbCommand ("updateAttivita", Con)
    objCmd.CommandType = CommandType.StoredProcedure

    'Se non usi procedure archiviate sostituisci questa
    'parte con una comune stringa sql.

    'Imposta i parametri
    objCmd.Parameters.Add("@attivitaBreve", strAttivitaBreve)
    objCmd.Parameters.Add("@attivitaEsteso", strAttivitaEsteso)
    objCmd.Parameters.Add("@idAttivita", intID)

    Con.Open()
    objCmd.ExecuteNonQuery()
    Con.Close()

    dtgrdAttivita.EditItemIndex = -1

    BindDataGrid


    End Sub

  3. #3
    ho fatto proprio come dici tu

    TextBox Nome = (TextBox)e.Item.Cells[0].Controls[0];
    TextBox Immagine = (TextBox)e.Item.Cells[1].Controls[0];

    string strNome = Nome.Text;
    string strImmagine = Immagine.Text;
    int CategoryID = (int)DataGridMacro.DataKeys[e.Item.ItemIndex];

    però in questa query
    string SQL = string.Format("UPDATE MacroCategories SET CategoryName='{0}', CategoryImg='{1}' WHERE CategoryID={2}",strNome,strImmagine,CategoryID);

    vedo che i valori sono quelli vecchi

    perchè???

  4. #4
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Anche io avevo avuto un problema simile.
    Come sai, in questi casi si usa una sub (che ho chiamato BindDataGrid) che estrae semplicemente i dati dal db e li visualizza. Tale Sub viene richiamata in ogni subroutine: quella per l'update, quella per la cancellazione ecc. Viene anche richiamata alla prima apertura della pagina nella sub Page_load. Appunto, nel mio caso l'aggiornamente non funzionava finché non ho impostato la sub Page_Load in questo modo

    Sub Page_Load(Src As Object, E As EventArgs)

    If Not Page.isPostBack Then

    BindDataGrid

    End If

    End Sub

    Non so se questo può esserti di aiuto.

  5. #5
    era proprio così come dici tu

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    55
    Hai provato:
    dim oggetto as string=CType(e.items.cells(n).controls(0),textbox) .text
    dove n è la cella del datagrid che hai editato e devi updatare,
    e poi assegni al parametro da updatare il valore di oggetto
    Saluti
    Enzo

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.