Angenommen, es gibt eine Produkttabelle mit Feldern (ID, Name, Menge usw.) und wir möchten den Mengenwert stapelweise auf einmal aktualisieren
Zunächst wird in der Gridview die Spalte „Quantity“ als „TemplateField“ angezeigt, die anderen Spalteneigenschaften werden auf „schreibgeschützt“ gesetzt und das Anzeigeformat wird auf „TextBox“ festgelegt
<asp:TemplateField HeaderText="Quantity">
<ItemTemplate>
<asp:TextBox ID="editQuantity" runat="server" CssClass="GridEditingRow"
Breite="24px" MaxLength="2" Text='<%#Eval("Quantity")%>' />
</ItemTemplate>
</asp:TemplateField>
Fügen Sie unterhalb der GridView ein Button-Steuerelement hinzu und definieren Sie die Onclick-Methode als updateButton_Click
Der endgültige updateButton_Click-Code lautet:
protected void updateButton_Click(object sender, EventArgs e)
{
rowsCount
= Grid.Rows.Count
;
TextBox
amountTextBox
;
// Jede Zeile in der GridView durchlaufen
for (int i = 0; i < rowsCount; i++)
{
// Aktuelle Zeile abrufen
GridRow = Grid.Rows[i];
// Verwenden Sie DATAKEYS, um die nicht angezeigte ID-Nummer abzurufen
Id = grid.DataKeys[i].Value.ToString();
//
QuantitätTextBox = (TextBox)gridRow.FindControl("editQuantity");
// In Ganzzahl konvertieren, wenn die Eingabe ein unzulässiges Zeichen ist. Int32.TryParse gibt FALSE zurück
if (Int32.TryParse(quantityTextBox.Text, out-Menge))
{
// Rufen Sie die Business-Layer-Methode auf, um die Daten zu aktualisieren
Erfolg = Erfolg && BLL.UpdateItem(Id, Menge);
}
anders
{
//Update fehlgeschlagen
Erfolg = falsch;
}
// Informationen anzeigen
statusLabel.Text = Erfolg?
„<br />Update erfolgreich!<br />“:
„<br />Update fehlgeschlagen!<br />“;
}
//GridVIEW erneut binden
PopulateGridView();
}
http://www.cnblogs.com/timone/archive/2006/11/17/564171.html