GridView.UpdateRow(Int32, Boolean) GridView.UpdateRow(Int32, Boolean) GridView.UpdateRow(Int32, Boolean) GridView.UpdateRow(Int32, Boolean) Method

Definición

Actualiza el registro en el índice de fila especificado utilizando los valores de campo de la fila.Updates the record at the specified row index using the field values of the row.

public:
 virtual void UpdateRow(int rowIndex, bool causesValidation);
public virtual void UpdateRow (int rowIndex, bool causesValidation);
abstract member UpdateRow : int * bool -> unit
override this.UpdateRow : int * bool -> unit
Public Overridable Sub UpdateRow (rowIndex As Integer, causesValidation As Boolean)

Parámetros

rowIndex
Int32 Int32 Int32 Int32

Índice de la fila que se actualiza.The index of the row to update.

causesValidation
Boolean Boolean Boolean Boolean

Es true para realizar la validación de la página cuando se llama a este método; de lo contrario, es false.true to perform page validation when this method is called; otherwise, false.

Excepciones

El control GridView está enlazado a un control de origen de datos, pero el DataSourceView asociado al origen de datos es null.The GridView control is bound to a data source control, but the DataSourceView associated with the data source is null.

Ejemplos

En el ejemplo siguiente se muestra cómo utilizar UpdateRow el método para actualizar mediante programación un registro de GridView un control.The following example demonstrates how to use the UpdateRow method to programmatically update a record in a GridView control.


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void UpdateRowButton_Click(Object sender, EventArgs e)
  {
    // Programmatically update the current record in edit mode.
    CustomersGridView.UpdateRow(CustomersGridView.EditIndex, true);
  }

  void CustomersGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
  {
    // Enable the UpdateRowButton button only when the GridView control
    // is in edit mode.
    switch (e.CommandName)
    {
      case "Edit":
        UpdateRowButton.Enabled = true;
        break;
      case "Cancel":
        UpdateRowButton.Enabled = false;
        break;
      case "Update":
        UpdateRowButton.Enabled = false;
        break;
      default:
        UpdateRowButton.Enabled = false;
        break;
    }
  }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView UpdateRow Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView UpdateRow Example</h3>
      
      <asp:button id="UpdateRowButton"
        text="Update Record"
        enabled="false"
        onclick="UpdateRowButton_Click" 
        runat="server"/>
        
      <hr/>

      <!-- The GridView control automatically sets the columns     -->
      <!-- specified in the datakeynames property as read-only.    -->
      <!-- No input controls are rendered for these columns in     -->
      <!-- edit mode.                                              -->
      <asp:gridview id="CustomersGridView"
        allowpaging="true" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        autogenerateeditbutton="true"
        datakeynames="CustomerID"
        onrowcommand="CustomersGridView_RowCommand"   
        runat="server">
      </asp:gridview>
            
      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the Web.config file.                            -->
      <asp:sqldatasource id="CustomersSqlDataSource"  
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
        updatecommand="Update Customers SET CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country WHERE (CustomerID = @CustomerID)"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
        runat="server">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>


<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Sub UpdateRowButton_Click(ByVal sender As Object, ByVal e As EventArgs)
      
    ' Programmatically update the current record in edit mode.
    CustomersGridView.UpdateRow(CustomersGridView.EditIndex, True)
    
  End Sub

  Sub CustomersGridView_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
  
    ' Enable the UpdateRowButton button only when the GridView control
    ' is in edit mode.
    Select Case e.CommandName
    
      Case "Edit"
        UpdateRowButton.Enabled = True
      Case "Cancel"
        UpdateRowButton.Enabled = False
      Case "Update"
        UpdateRowButton.Enabled = False
      Case Else
        UpdateRowButton.Enabled = False
    
    End Select
    
  End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView UpdateRow Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView UpdateRow Example</h3>
      
      <asp:button id="UpdateRowButton"
        text="Update Record"
        enabled="false"
        onclick="UpdateRowButton_Click" 
        runat="server"/>
        
      <hr/>

      <!-- The GridView control automatically sets the columns     -->
      <!-- specified in the datakeynames property as read-only.    -->
      <!-- No input controls are rendered for these columns in     -->
      <!-- edit mode.                                              -->
      <asp:gridview id="CustomersGridView"
        allowpaging="true" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        autogenerateeditbutton="true"
        datakeynames="CustomerID"
        onrowcommand="CustomersGridView_RowCommand"   
        runat="server">
      </asp:gridview>
            
      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the Web.config file.                            -->
      <asp:sqldatasource id="CustomersSqlDataSource"  
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
        updatecommand="Update Customers SET CompanyName=@CompanyName, Address=@Address, City=@City, PostalCode=@PostalCode, Country=@Country WHERE (CustomerID = @CustomerID)"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
        runat="server">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>

Comentarios

Utilice el UpdateRow método para actualizar mediante programación el registro en el índice especificado del origen de datos.Use the UpdateRow method to programmatically update the record at the specified index in the data source. Este método se utiliza normalmente cuando es necesario actualizar un registro desde fuera del GridView control, como desde un control diferente en la página.This method is commonly used when you need to update a record from outside of the GridView control, such as from a different control on the page.

Nota

Solo se puede llamar a este método para la fila que está actualmente en modo de edición o para una fila que contenga un control de entrada enlazado a datos bidireccional.This method can be called only for the row that is currently in edit mode, or for a row that contains a two-way data-bound input control. Para obtener más información sobre las expresiones de enlace bidireccionales, vea enlazar a bases de datos.For more information about two-way binding expressions, see Binding to Databases.

Para especificar si se realiza la validación de la página antes de la operación causesValidation de actualización, utilice el parámetro.To specify whether page validation is performed before the update operation, use the causesValidation parameter. La llamada a este método también RowUpdated genera RowUpdating los eventos y.Calling this method also raises the RowUpdated and RowUpdating events.

Se aplica a

Consulte también: