2010-05-27 25 views

risposta

3

Se si desidera aggiornare tutte le righe con lo stesso valore di poi mostrare un adeguato controllo (textbox/discesa/checkbox/radio) in intestazione di colonna altro mostrano la colonna della griglia di modifica modalità invece di etichetta.

Vedi seguente:
http://www.codeproject.com/KB/webforms/BulkEditGridView.aspx

+0

I valori devono essere univoci per ogni riga. –

+0

Risposta modificata, vedere il collegamento di esempio. – Brij

+0

Ho finito per utilizzare un approccio simile a questo controllo ereditando da GridView e sovrascrivendo l'evento CreateRow. –

0
non

Probabilmente il migliore, ma una possibilità è quella di impostare la chiave primaria della tabella come il DataKey del GridView poi iterare la griglia e utilizzare il DataKey e il valore modificato per aggiornare il DB. Ecco un esempio.

<asp:GridView ID="GridView1" runat="server" DataKeyNames="ID"> 
    <Columns>..... 


foreach (var item in GridView1.Items) 
    { 
    var id = (Guid)GridView1.DataKeys[item.DataItemIndex].Value; 
    var txt= item.FindControl("AmountTextBox") as Textbox; 

    if (cb != null && id.HasValue) 
     UpdateRow(id.Value, txt.Text); 
    } 
Problemi correlati