2010-05-27 12 views

Antwort

3

Wenn Sie alle Zeilen mit demselben Wert aktualisieren möchten zeigen dann eine ordnungsgemäße Kontrolle (Textbox/Drop-Down/Checkbox/Radio) in Spaltenüberschrift sonst zeigen die Rasterspalte in bearbeiten Modus anstelle von Label.

Siehe folgende:
http://www.codeproject.com/KB/webforms/BulkEditGridView.aspx

+0

Die Werte müssen für jede Zeile eindeutig sein. –

+0

Bearbeitete Antwort, siehe den Beispiellink. – Brij

+0

Ich endete mit einem ähnlichen Ansatz für dieses Steuerelement durch Erben von GridView und Überschreiben des CreateRow-Ereignisses. –

0

Wahrscheinlich nicht die beste, aber eine Option ist der Primärschlüssel der Tabelle zu setzen, wie die DataKey des Gridview dann das Raster iterieren und verwenden Sie den Datenschlüssel und die bearbeitete Wert Aktualisieren Sie die Datenbank. Hier ist ein Beispiel.

<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); 
    } 
Verwandte Themen