Supongamos que hay una tabla de Producto con campos (Id, Nombre, Cantidad,...) y queremos actualizar el valor de Cantidad en lotes a la vez.
Primero, en Gridview, la columna Cantidad se muestra como TemplateField, las otras propiedades de la columna se establecen en solo lectura y el formato de visualización se establece en TextBox.
<asp:TemplateField HeaderText="Cantidad">
<Plantilla de artículo>
<asp:TextBox ID="editQuantity" runat="servidor" CssClass="GridEditingRow"
Ancho="24px" MaxLength="2" Texto='<%#Eval("Cantidad")%>' />
</ItemTemplate>
</asp:TemplateField>
Agregue un control de botón debajo de GridView y defina el método onclick como updateButton_Click
El código final de updateButton_Click es:
protected void updateButton_Click (remitente del objeto, EventArgs e)
{
int rowsCount = grid.Rows.Count;
GridViewRow
gridRow;
cantidad de cuadro de textoId
de producto de cadena
;
// Recorre cada fila en GridView
para (int i = 0; i <rowCount; i++)
{
//Obtiene la fila actual
gridRow = grid.Rows[i];
// Utilice DATAKEYS para obtener el número de identificación que no se muestra
Identificación = grid.DataKeys[i].Value.ToString();
//
cantidadTextBox = (TextBox)gridRow.FindControl("editarCantidad");
// Convertir a entero, si la entrada es un carácter ilegal Int32.TryParse devuelve FALSO
if (Int32.TryParse(cantidadTextBox.Text, cantidad fuera))
{
// Llama al método de la capa empresarial para actualizar los datos.
éxito = éxito && BLL.UpdateItem(Id, cantidad);
}
demás
{
//La actualización falló
éxito = falso;
}
// mostrar información
statusLabel.Text = ¿éxito?
"<br />¡Actualización exitosa!<br />" :
"<br />¡Error en la actualización!<br />";
}
//Volver a vincular GridVIEW
PoblarGridView();
}
http://www.cnblogs.com/timone/archive/2006/11/17/564171.html