GridViewCancelEditEventHandler Delegat
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje metodę, która obsługuje RowCancelingEdit zdarzenie kontrolki GridView .
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.
GridViewCancelEditEventArgs Obiekt, który zawiera dane zdarzenia.
Przykłady
W poniższym przykładzie pokazano, jak programowo dodać GridViewCancelEditEventHandler delegata do RowCancelingEdit zdarzenia kontrolki GridView .
<%@ 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>
W poniższym przykładzie pokazano, jak deklaratywnie dodać GridViewCancelEditEventHandler delegata do RowCancelingEdit zdarzenia kontrolki GridView .
<%@ 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
Zdarzenie RowCancelingEdit jest wywoływane po kliknięciu przycisku Anuluj wiersza w trybie edycji, ale przed zamknięciem trybu edycji wiersza. Dzięki temu można podać metodę obsługi zdarzeń, która wykonuje niestandardową procedurę, taką jak zatrzymywanie operacji anulowania, jeśli spowoduje to umieszczenie wiersza w stanie niepożądanym, za każdym razem, gdy wystąpi to zdarzenie.
Podczas tworzenia delegata GridViewCancelEditEventHandler należy zidentyfikować metodę, która będzie obsługiwać zdarzenie. Aby skojarzyć zdarzenie z programem obsługi zdarzeń, dodaj wystąpienie delegata do zdarzenia. Program obsługi zdarzeń jest wywoływany przy każdym wystąpieniu zdarzenia, o ile nie usunięto delegata. Aby uzyskać więcej informacji na temat delegatów programu obsługi zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.
Metody rozszerzania
GetMethodInfo(Delegate) |
Pobiera obiekt reprezentujący metodę reprezentowaną przez określonego delegata. |