¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Expandir Minimizar

Código: Actualizar elementos de un control DataGrid o DataList de servidor Web (Visual Basic)

Visual Studio .NET 2003

En este ejemplo se muestra cómo obtener valores de un elemento DataGrid que se encuentra en modo de edición, cómo buscar la fila correspondiente en un conjunto de datos, cómo actualizarla y cómo enviar las actualizaciones del conjunto de datos al origen de datos. De forma predeterminada, cuando un elemento se encuentra en modo edición, los valores se muestran en controles TextBox. El código se ejecuta cuando el usuario hace clic en el botón Actualizar de una columna EditCommandColumn.

Nota   El siguiente ejemplo se aplica al control DataGrid. La técnica para actualizar en el control DataList es similar, excepto en que el control debe tener una plantilla EditItem con un control TextBox definido explícitamente. (De forma predeterminada, el control no muestra cuadros de texto cuando se encuentra en modo de edición.) Para obtener más información, vea Permitir a los usuarios editar elementos en un control DataList de servidor Web.

Ejemplo

Private Sub DataGrid1_UpdateCommand(ByVal source As Object, _
        ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) _
        Handles DataGrid1.UpdateCommand
    Dim customerid, companyName, contactName As String
    Dim tb As TextBox
    tb = CType(e.Item.Cells(1).Controls(0), TextBox)
    customerid = tb.Text
    tb = CType(e.Item.Cells(2).Controls(0), TextBox)
    companyName = tb.Text
    tb = CType(e.Item.Cells(3).Controls(0), TextBox)
    contactName = tb.Text

    Dim dr As DataSet1.CustomersRow
    dr = DataSet11.Customers.FindByCustomerID(customerid)
    dr.CompanyName = companyName
    dr.ContactName = contactName

    SqlDataAdapter1.Update(DataSet11)
    DataGrid1.EditItemIndex = -1
    DataGrid1.DataBind()
End Sub

Compilar el código

Este ejemplo necesita:

Programación sólida

El control inicia una excepción ArgumentOutOfRangeException si se intenta obtener el valor de una fila o celda que no existe. Si se ha creado una columna plantilla y se ha definido una plantilla EditItemTemplate para ella, un modo mejor de obtener el valor del control editado consiste en utilizar el método FindControl. Para obtener información detallada, vea Código: Obtener valores de columnas plantilla de un control DataGrid o DataList de servidor Web (Visual Basic).

Si se cambia el valor del campo de clave principal se puede producir un error de integridad referencial.

Si se produce un error en la base de datos durante la actualización, el adaptador de datos iniciará una de las siguientes excepciones:

Seguridad

Los datos proporcionados por un usuario en una página de formularios Web Forms (en los cuadros de texto) podrían incluir secuencias de comandos de cliente pensadas para causar daños. De forma predeterminada, la página de formularios Web Forms valida los datos escritos por el usuario para comprobar que no incluyen secuencias de comandos ni elementos HTML. Para obtener más información, vea Ataques mediante secuencias de comandos y Proteger una aplicación Web frente a ataques mediante secuencias de comandos.

Vea también

Código: Actualizar un origen de datos con el contenido de tablas de datos relacionadas (Visual Basic) | Hacer referencia a controles en páginas de formularios Web Forms | Código: Obtener valores de celda de un control DataGrid de servidor Web (Visual Basic) | Código: Obtener valores de columnas plantilla de un control DataGrid o DataList de servidor Web (Visual Basic) | Tutorial: utilizar un control Web DataGrid para leer y escribir datos | Cuestiones principales sobre el control DataGrid de servidor Web | Responder a los errores de actualización de bases de datos | Temas de ejemplo de controles de Web Forms

Mostrar:
© 2015 Microsoft