แก้ไข

แชร์ผ่าน


GridViewDeleteEventArgs.RowIndex Property

Definition

Gets the index of the row being deleted.

public:
 property int RowIndex { int get(); };
public int RowIndex { get; }
member this.RowIndex : int
Public ReadOnly Property RowIndex As Integer

Property Value

The zero-based index of the row being deleted.

Examples

The following example shows how to use the RowIndex property to determine the index of the row to delete.


<%@ 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 CustomersGridView_RowDeleting(Object sender, GridViewDeleteEventArgs e)
  {
    
    // Get the country/region of the record being deleted.
    GridViewRow row = CustomersGridView.Rows[e.RowIndex];
    String region = row.Cells[6].Text;
    
    // Cancel the delete operation if the country/region is "USA".
    if(region == "USA")
    {
      e.Cancel = true;
      Message.Text = "You cannot delete a record from " + region + ".";
    }
    
  }

  void CustomersGridView_RowDeleted(Object sender, GridViewDeletedEventArgs e)
  {
    
    if (e.Exception == null)
    {
      // The delete operation succeeded. Clear the message label.
      Message.Text = "";
    }
    else
    {
      // The delete operation failed. Display an error message.
      Message.Text = "An error occurred during the delete operation. " +
        e.AffectedRows.ToString() + " rows deleted.";
    }
        
  }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridViewDeleteEventArgs RowIndex Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridViewDeleteEventArgs RowIndex Example</h3>
            
      <asp:label id="Message"
        forecolor="Red"          
        runat="server"/>
        
      <br/>
      
      <asp:gridview id="CustomersGridView" 
        allowpaging="true"
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        autogeneratedeletebutton="true" 
        datakeynames="CustomerID"
        onrowdeleted="CustomersGridView_RowDeleted"
        onrowdeleting="CustomersGridView_RowDeleting"   
        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]"
        deletecommand="Delete from Customers 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 CustomersGridView_RowDeleting(ByVal sender As Object, ByVal e As GridViewDeleteEventArgs)
        
    ' Get the country/region of the record being deleted.
    Dim row As GridViewRow = CustomersGridView.Rows(e.RowIndex)
    Dim region As String = row.Cells(6).Text
    
    ' Cancel the delete operation if the country/region is "USA".
    If region = "USA" Then
    
      e.Cancel = True
      Message.Text = "You cannot delete a record from " & region & "."
      
    End If
    
  End Sub

  Sub CustomersGridView_RowDeleted(ByVal sender As Object, ByVal e As GridViewDeletedEventArgs)
    
    If e.Exception Is Nothing Then
    
      ' The delete operation succeeded. Clear the message label.
      Message.Text = ""
    
    Else
    
      ' The delete operation failed. Display an error message.
      Message.Text = "An error occurred during the delete operation. " & _
        e.AffectedRows.ToString() & " rows deleted."
      e.ExceptionHandled = true
        
    End If
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridViewDeleteEventArgs RowIndex Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridViewDeleteEventArgs RowIndex Example</h3>
            
      <asp:label id="Message"
        forecolor="Red"          
        runat="server"/>
        
      <br/>
      
      <asp:gridview id="CustomersGridView" 
        allowpaging="true"
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        autogeneratedeletebutton="true" 
        datakeynames="CustomerID"
        onrowdeleted="CustomersGridView_RowDeleted"
        onrowdeleting="CustomersGridView_RowDeleting"   
        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]"
        deletecommand="Delete from Customers where CustomerID = @CustomerID"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
        runat="server">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>

Remarks

The row index is frequently used to retrieve the specified row from the Rows collection of the GridView control. You can then access the row's properties.

Applies to

See also