Bagikan melalui


GridView.UpdateRow(Int32, Boolean) Metode

Definisi

Memperbarui rekaman pada indeks baris yang ditentukan menggunakan nilai bidang baris.

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)

Parameter

rowIndex
Int32

Indeks baris yang akan diperbarui.

causesValidation
Boolean

true untuk melakukan validasi halaman ketika metode ini dipanggil; jika tidak, false.

Pengecualian

Kontrol GridView terikat ke kontrol sumber data, tetapi yang DataSourceView terkait dengan sumber data adalah null.

Contoh

Contoh berikut menunjukkan cara menggunakan UpdateRow metode untuk memperbarui rekaman secara terprogram dalam GridView kontrol.


<%@ 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>

Keterangan

UpdateRow Gunakan metode untuk memperbarui rekaman secara terprogram pada indeks yang ditentukan di sumber data. Metode ini biasanya digunakan ketika Anda perlu memperbarui rekaman dari luar GridView kontrol, seperti dari kontrol yang berbeda di halaman.

Catatan

Metode ini hanya dapat dipanggil untuk baris yang saat ini dalam mode edit, atau untuk baris yang berisi kontrol input terikat data dua arah. Untuk informasi selengkapnya tentang ekspresi pengikatan dua arah, lihat Mengikat ke Database.

Untuk menentukan apakah validasi halaman dilakukan sebelum operasi pembaruan, gunakan causesValidation parameter . Memanggil metode ini juga meningkatkan RowUpdated peristiwa dan RowUpdating .

Berlaku untuk

Lihat juga