DetailsViewModeEventArgs.CancelingEdit Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá hodnotu označující, zda ModeChanging událost byla vyvolána v důsledku zrušení operace úpravy uživatelem.
public:
property bool CancelingEdit { bool get(); };
public bool CancelingEdit { get; }
member this.CancelingEdit : bool
Public ReadOnly Property CancelingEdit As Boolean
Hodnota vlastnosti
true
k označení ModeChanging události, která byla vyvolána v důsledku zrušení operace úprav uživatelem. false
V opačném případě dojde k chybě .
Příklady
Následující příklad kódu ukazuje, jak použít CancelingEdit vlastnost k určení, zda změna režimu je výsledkem zrušení operace úpravy uživatelem.
<%@ 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 CustomerDetailsView_ModeChanging(Object sender, DetailsViewModeEventArgs e)
{
// Use the NewMode property to determine the mode to which the
// DetailsView control is transitioning.
switch (e.NewMode)
{
case DetailsViewMode.Edit:
// Hide the pager row and clear the Label control
// when transitioning to edit mode.
CustomerDetailsView.AllowPaging = false;
MessageLabel.Text = "";
break;
case DetailsViewMode.ReadOnly:
// Display the pager row and confirmation message
// when transitioning to edit mode.
CustomerDetailsView.AllowPaging = true;
if (e.CancelingEdit)
{
MessageLabel.Text = "Update canceled.";
}
else
{
MessageLabel.Text = "Update completed.";
}
break;
case DetailsViewMode.Insert:
// Cancel the mode change if the DetailsView
// control attempts to transition to insert
// mode.
e.Cancel = true;
break;
default:
MessageLabel.Text = "Unsupported mode.";
break;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewModeEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewModeEventArgs Example</h3>
<asp:detailsview id="CustomerDetailsView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogeneraterows="true"
autogenerateeditbutton="true"
allowpaging="true"
onmodechanging="CustomerDetailsView_ModeChanging"
runat="server">
</asp:detailsview>
<br/><br/>
<asp:label id="MessageLabel"
forecolor="Red"
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="DetailsViewSource"
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"/>
</form>
</body>
</html>
<%@ Page language="VB" autoeventwireup="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub CustomerDetailsView_ModeChanging(ByVal sender As Object, ByVal e As DetailsViewModeEventArgs) Handles CustomerDetailsView.ModeChanging
' Use the NewMode property to determine the mode to which the
' DetailsView control is transitioning.
Select Case e.NewMode
Case DetailsViewMode.Edit
' Hide the pager row and clear the Label control
' when transitioning to edit mode.
CustomerDetailsView.AllowPaging = False
MessageLabel.Text = ""
Case DetailsViewMode.ReadOnly
' Display the pager row and confirmation message
' when transitioning to edit mode.
CustomerDetailsView.AllowPaging = True
If e.CancelingEdit Then
MessageLabel.Text = "Update canceled."
Else
MessageLabel.Text = "Update completed."
End If
Case DetailsViewMode.Insert
' Cancel the mode change if the DetailsView
' control attempts to transition to insert
' mode.
e.Cancel = True
Case Else
MessageLabel.Text = "Unsupported mode."
End Select
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsViewModeEventArgs Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DetailsViewModeEventArgs Example</h3>
<asp:detailsview id="CustomerDetailsView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogeneraterows="true"
autogenerateeditbutton="true"
allowpaging="true"
runat="server">
</asp:detailsview>
<br/><br/>
<asp:label id="MessageLabel"
forecolor="Red"
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="DetailsViewSource"
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"/>
</form>
</body>
</html>
Poznámky
Událost ModeChanging je vyvolána, když DetailsView se ovládací prvek pokusí změnit mezi režimem úpravy, vložení a jen pro čtení, ale před tím, než se režim skutečně změní. CancelingEdit Pomocí vlastnosti určete, zda ModeChanging byla událost vyvolána v důsledku zrušení operace úpravy uživatelem. Můžete například chtít obnovit ovládací prvek pokaždé DetailsView , když uživatel zruší operaci úprav.