GridView.UpdateRow(Int32, Boolean) Método
Definição
Atualiza o registro no índice especificado de linha usando os valores de campo da linha.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
O índice da linha a ser atualizada.The index of the row to update.
- causesValidation
- Boolean
true para executar a validação de página quando este método for chamado; caso contrário, false.true to perform page validation when this method is called; otherwise, false.
Exceções
O controle GridView é associado a um controle de fonte de dados, mas o DataSourceView associado à fonte de dados é null.The GridView control is bound to a data source control, but the DataSourceView associated with the data source is null.
Exemplos
O exemplo a seguir demonstra como usar o UpdateRow método para atualizar programaticamente um registro em um GridView controle.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>
Comentários
Use o UpdateRow método para atualizar programaticamente o registro no índice especificado na fonte de dados.Use the UpdateRow method to programmatically update the record at the specified index in the data source. Esse método é usado normalmente quando você precisa atualizar um registro de fora do GridView controle, como de um controle diferente na 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.
Observação
Esse método pode ser chamado apenas para a linha que está no modo de edição, ou para uma linha que contém um controle de entrada associado a dados bidirecional.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 obter mais informações sobre expressões de ligação bidirecionais, consulte associando a bancos de dados.For more information about two-way binding expressions, see Binding to Databases.
Para especificar se a validação de página é executada antes da operação de atualização, use o causesValidation parâmetro.To specify whether page validation is performed before the update operation, use the causesValidation parameter. Chamar esse método também gera os RowUpdated RowUpdating eventos e.Calling this method also raises the RowUpdated and RowUpdating events.