GridViewCancelEditEventHandler Delegat

Definicja

Reprezentuje metodę, która obsługuje RowCancelingEdit zdarzenie GridView formantu.Represents the method that handles the RowCancelingEdit event of a GridView control.

public delegate void GridViewCancelEditEventHandler(System::Object ^ sender, GridViewCancelEditEventArgs ^ e);
public delegate void GridViewCancelEditEventHandler(object sender, GridViewCancelEditEventArgs e);
type GridViewCancelEditEventHandler = delegate of obj * GridViewCancelEditEventArgs -> unit
Public Delegate Sub GridViewCancelEditEventHandler(sender As Object, e As GridViewCancelEditEventArgs)

Parametry

sender
Object

Źródło zdarzenia.The source of the event.

e
GridViewCancelEditEventArgs

GridViewCancelEditEventArgsObiekt, który zawiera dane zdarzenia.A GridViewCancelEditEventArgs object that contains the event data.

Dziedziczenie
GridViewCancelEditEventHandler

Przykłady

W poniższym przykładzie pokazano, jak programowo dodać GridViewCancelEditEventHandler delegata do RowCancelingEdit zdarzenia GridView kontrolki.The following example demonstrates how to programmatically add a GridViewCancelEditEventHandler delegate to the RowCancelingEdit event of 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 Page_Load(Object sender, EventArgs e)
  {
        
    // Create a new GridView object.
    GridView customerGridView = new GridView();
         
    // Set the GridView object's properties.
    customerGridView.ID = "CustomersGridView";
    customerGridView.DataSourceID = "CustomersSqlDataSource";
    customerGridView.AutoGenerateColumns = true;
    customerGridView.AutoGenerateEditButton = true;
    customerGridView.DataKeyNames = new String[] { "CustomerID" };
        
    // Programmatically register the event-handling methods.
    customerGridView.RowCancelingEdit += new GridViewCancelEditEventHandler(this.CustomersGridView_RowCancelingEdit);
    customerGridView.RowUpdated += new GridViewUpdatedEventHandler(this.CustomersGridView_RowUpdated);
        
    // Add the GridView object to the Controls collection
    // of the PlaceHolder control.
    GridViewPlaceHolder.Controls.Add(customerGridView);
        
  }

  void CustomersGridView_RowCancelingEdit(Object sender, GridViewCancelEditEventArgs e)
  {
    
    // Display a message indicating that the update operation was canceled.
    Message.Text = "Update for row " + e.RowIndex.ToString() + " canceled."; 
    
  }

  void CustomersGridView_RowUpdated(Object sender, GridViewUpdatedEventArgs e)
  {

    // The update operation was successful. Clear the message label.
    Message.Text = "";

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridViewCancelEditEventHandler Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridViewCancelEditEventHandler Example</h3>
            
      <asp:label id="Message"
        forecolor="Red"
        runat="server"/>
                
      <br/>
            
      <asp:placeholder id="GridViewPlaceHolder"
        runat="Server"/>
            
      <!-- 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 Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        
    ' Create a new GridView object.
    Dim customerGridView As New GridView()
         
    ' Set the GridView object's properties.
    customerGridView.ID = "CustomersGridView"
    customerGridView.DataSourceID = "CustomersSqlDataSource"
    customerGridView.AutoGenerateColumns = True
    customerGridView.AutoGenerateEditButton = True
    customerGridView.DataKeyNames = New [String]() {"CustomerID"}
        
    ' Programmatically register the event-handling methods.
    AddHandler customerGridView.RowCancelingEdit, AddressOf CustomersGridView_RowCancelingEdit
    AddHandler customerGridView.RowUpdated, AddressOf CustomersGridView_RowUpdated
        
    ' Add the GridView object to the Controls collection
    ' of the PlaceHolder control.
    GridViewPlaceHolder.Controls.Add(customerGridView)
        
  End Sub
    
  Sub CustomersGridView_RowCancelingEdit(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs)
    
    ' Display a message indicating that the update operation was canceled.
    Message.Text = "Update for row " + e.RowIndex.ToString() + " canceled."
    
  End Sub
    
  Sub CustomersGridView_RowUpdated(ByVal sender As Object, ByVal e As GridViewUpdatedEventArgs)

    ' The update operation was successful. Clear the message label.
    Message.Text = ""

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridViewCancelEditEventHandler Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridViewCancelEditEventHandler Example</h3>
            
      <asp:label id="Message"
        forecolor="Red"
        runat="server"/>
                
      <br/>
            
      <asp:placeholder id="GridViewPlaceHolder"
        runat="Server"/>
            
      <!-- 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>

Poniższy przykład pokazuje, jak deklaratywnie dodać GridViewCancelEditEventHandler delegata do RowCancelingEdit zdarzenia GridView kontrolki.The following example demonstrates how to declaratively add a GridViewCancelEditEventHandler delegate to the RowCancelingEdit event of 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 CustomersGridView_RowCancelingEdit(Object sender, GridViewCancelEditEventArgs e)
  {
    
    // Retrieve the row that raised the event from the Rows
    // collection of the GridView control.
    GridViewRow row = CustomersGridView.Rows[e.RowIndex];
    
    // The update operation was canceled. Display the 
    // primary key of the row. In this example, the primary
    // key is displayed in the second column of the GridView
    // control. To access the text of the column, use the Cells
    // collection of the row.
    Message.Text = "Update for item " + row.Cells[1].Text + " Canceled."; 
    
  }

  void CustomersGridView_RowEditing(Object sender, GridViewEditEventArgs e)
  {

    // The GridView control is entering edit mode. Clear the message label.
    Message.Text = "";

  }
  
  void CustomersGridView_RowUpdated(Object sender, GridViewUpdatedEventArgs e)
  {

    // The update operation was successful. Clear the message label.
    Message.Text = "";

  }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView RowCancelingEdit Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView RowCancelingEdit Example</h3>
            
      <asp:label id="Message"
        forecolor="Red"
        runat="server"/>
                
      <br/>
      
      <!-- The GridView control automatically sets the columns     -->
      <!-- specified in the datakeynames attribute as read-only.   -->
      <!-- No input controls are rendered for these columns in     -->
      <!-- edit mode.                                              -->
      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        autogenerateeditbutton="true"
        allowpaging="true" 
        datakeynames="CustomerID"
        onrowcancelingedit="CustomersGridView_RowCancelingEdit"
        onrowediting="CustomersGridView_RowEditing" 
        onrowupdated="CustomersGridView_RowUpdated"    
        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 CustomersGridView_RowCancelingEdit(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs)
    
    ' Retrieve the row that raised the event from the Rows
    ' collection of the GridView control.
    Dim row As GridViewRow = CustomersGridView.Rows(e.RowIndex)
    
    ' The update operation was canceled. Display the 
    ' primary key of the row. In this example, the primary
    ' key is displayed in the second column of the GridView
    ' control. To access the text of the column, use the Cells
    ' collection of the row.
    Message.Text = "Update for item " & row.Cells(1).Text & " Canceled."
    
  End Sub

  Sub CustomersGridView_RowEditing(ByVal sender As Object, ByVal e As GridViewEditEventArgs)

    ' The GridView control is entering edit mode. Clear the message label.
    Message.Text = ""

  End Sub
  
  Sub CustomersGridView_RowUpdated(ByVal sender As Object, ByVal e As GridViewUpdatedEventArgs)
    
    ' The update operation was successful. Clear the message label.
    Message.Text = ""

  End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView RowCancelingEdit Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView RowCancelingEdit Example</h3>
            
      <asp:label id="Message"
        forecolor="Red"
        runat="server"/>
                
      <br/>
      
      <!-- The GridView control automatically sets the columns     -->
      <!-- specified in the datakeynames attribute as read-only.   -->
      <!-- No input controls are rendered for these columns in     -->
      <!-- edit mode.                                              -->
      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="true"
        autogenerateeditbutton="true"
        allowpaging="true" 
        datakeynames="CustomerID"
        onrowcancelingedit="CustomersGridView_RowCancelingEdit"
        onrowediting="CustomersGridView_RowEditing" 
        onrowupdated="CustomersGridView_RowUpdated"    
        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>

Uwagi

RowCancelingEditZdarzenie jest zgłaszane, gdy kliknięto przycisk Anuluj wiersza w trybie edycji, ale przed opuszczeniem wiersza w trybie edycji.The RowCancelingEdit event is raised when the Cancel button of a row in edit mode is clicked, but before the row exits edit mode. Umożliwia to dostarczenie metody obsługi zdarzeń, która wykonuje procedurę niestandardową, taką jak zatrzymanie operacji anulowania, jeśli spowodowałoby to umieszczenie wiersza w stanie niepożądanym, gdy wystąpi zdarzenie.This allows you to provide an event-handling method that performs a custom routine, such as stopping the cancel operation if it would put the row in an undesired state, whenever this event occurs.

Podczas tworzenia GridViewCancelEditEventHandler delegata należy określić metodę, która będzie obsługiwać zdarzenie.When you create a GridViewCancelEditEventHandler delegate, you identify the method that will handle the event. Aby skojarzyć zdarzenie z programem obsługi zdarzeń, Dodaj wystąpienie delegata do zdarzenia.To associate the event with your event handler, add an instance of the delegate to the event. Program obsługi zdarzeń jest wywoływany przy każdym wystąpieniu zdarzenia, o ile nie usunięto delegata.The event handler is called whenever the event occurs, unless you remove the delegate. Aby uzyskać więcej informacji na temat delegatów obsługi zdarzeń, zobacz temat Obsługa iwywoływanie zdarzeń.For more information about event-handler delegates, see Handling and Raising Events.

Metody rozszerzania

GetMethodInfo(Delegate)

Pobiera obiekt, który reprezentuje metodę reprezentowaną przez określony delegat.Gets an object that represents the method represented by the specified delegate.

Dotyczy

Zobacz też