Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    colonna modificata in gridview

    ciao a tutti..
    ho una gridview (riempita con dati presi dal db), ho aggiunto la colonna edit per consentire la modifica dei dati.
    Ora c'è un modo per vedere se una colonna è stata modificata?

  2. #2
    Utente di HTML.it L'avatar di fede_00
    Registrato dal
    May 2004
    Messaggi
    279
    dentro l'evento row_editing imposti l'indice della riga da editare e rifai il bind
    dentro l'evento row_databound gestisci l'operazione di modifica verso il db

  3. #3
    Scusa tanto ma puoi essere più chiaro magari con qualche esempio... sai non sono molto esperto!!

    cmq non mi interessare impostare la riga da editare (lo devono essere tutte), mi interessa solo sapere quale colonna è stata modificata

  4. #4
    Utente di HTML.it L'avatar di fede_00
    Registrato dal
    May 2004
    Messaggi
    279
    scusa, ieri sera ho indicato un evento non corretto (row_databound)
    ---------------
    questo è l'evento scatenato alla pressione del link EDIT, che imposta l'indice della riga da editare

    codice:
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
    GridView1.EditIndex = e.NewEditIndex;
    //qui richiami la funzione che preleva i dati dal tuo datasource
    //(in questo caso un db) e fai il bind alla griglia
    }
    codice:
    protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
    e.Cancel = true;
    //qui fai tutte le operazioni di aggiornamento al db 
    //l'argomento e (GridViewUpdateEventArgs e) contiene l'indice della riga
    //interessata dalla modifica più altre informazioni lunghe da spiegare
    }
    fammi sapere, ciao

  5. #5
    Il problema è che non me ne facccio niente della riga editata, a me serva ricavare la colonna editata: se è stata modificata una certa colonna devo fare determinate operazioni.

  6. #6
    Utente di HTML.it L'avatar di fede_00
    Registrato dal
    May 2004
    Messaggi
    279
    dentro all'evento updating
    if (e.Row.RowType == DataControlRowType.Header)
    {
    //l'header
    GridViewRow headerRow = e.Row;

    foreach (TableCell cell in e.Row.Cells)
    {
    foreach (Control ctl in cell.Controls)
    {
    if (ctl.GetType().BaseType == typeof(LinkButton) && ((LinkButton)ctl).Text == "Delete")
    }

  7. #7
    Utente di HTML.it L'avatar di fede_00
    Registrato dal
    May 2004
    Messaggi
    279
    dentro all'evento updating
    if (e.Row.RowType == DataControlRowType.Header)
    {
    //l'header
    GridViewRow headerRow = e.Row;

    for (int i=0; i < e.Row.Cells.Count; i++)
    {
    if (e.Row.Cells[i].Controls[0].GetType() == typeof(Textbox) && headerRow.Cells[i].Text == "pippo")
    {
    //qui sei dentro al caso di modifica del valore appartenente alla colonna pippo
    }
    }

    provalo, io per ora non ho il tempo per farlo

  8. #8
    scusa se ti rompo... ho deciso di cambiare sistema.
    Ora però mi serve sapere come faccio a recuperare il contenuto di una riga (colonna per colonna).

    Grazie davvero mille!

  9. #9
    Utente di HTML.it L'avatar di fede_00
    Registrato dal
    May 2004
    Messaggi
    279
    sempre nell'evento updating

    //questa riga prima andava così, ho sbagliato a scrivere dalla fretta
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    foreach (TableCell cell in e.Row.Cells)
    {
    foreach (Control ctl in cell.Controls)
    {
    if (ctl.GetType() == typeof(TextBox))
    {
    TextBox txt = (TextBox)ctl;
    //fai tutto il resto, l'oggetto txt rappresenta ogni singola textbox
    //della riga in fase di edit
    }
    }
    }
    }

  10. #10
    chiedo troppo se ti chiedo di farmelo in visual basic?

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.