DetailsView.ModeChanging イベント
アセンブリ: System.Web (system.web.dll 内)

Dim instance As DetailsView Dim handler As DetailsViewModeEventHandler AddHandler instance.ModeChanging, handler
public: event DetailsViewModeEventHandler^ ModeChanging { void add (DetailsViewModeEventHandler^ value); void remove (DetailsViewModeEventHandler^ value); }

DetailsView コントロールが編集、挿入、および読み取り専用の各モード間の切り替えを行おうとした場合に、CurrentMode プロパティの更新前に ModeChanging イベントが発生します。これにより、このイベントが発生したときにカスタム ルーチン (キャンセル操作やモード変更操作など) を実行するイベント ハンドラを提供できます。
DetailsViewModeEventArgs オブジェクトがイベント ハンドラに渡され、これにより新しいモードを確認したり、ユーザーが編集操作をキャンセルしたためにモード変更が発生したのかどうかを確認したり、モード変更をキャンセルしたりできます。新しいモードを確認するには、NewMode プロパティを使用します。ユーザーが編集操作をキャンセルしたためにモード変更が発生したのかどうかを確認するには、CancelingEdit プロパティを使用します。モード変更は、Cancel プロパティを true に設定してキャンセルできます。

ModeChanging イベントを使用して、DetailsView コントロールが編集モードのときにページング機能を無効にする方法のコード例を次に示します。
<%@ Page language="VB" %> <script runat="server"> Sub CustomerDetailView_ModeChanging(ByVal sender As Object, ByVal e As DetailsViewModeEventArgs) ' Disable the paging feature in edit mode. If e.NewMode = DetailsViewMode.Edit Then CustomerDetailView.AllowPaging = False Else CustomerDetailView.AllowPaging = True End If End Sub </script> <html> <body> <form id="Form1" runat="server"> <h3>DetailsView ModeChanging Example</h3> <asp:detailsview id="CustomerDetailView" datasourceid="DetailsViewSource" datakeynames="CustomerID" autogeneraterows="true" autogenerateeditbutton="true" allowpaging="true" onmodechanging="CustomerDetailView_ModeChanging" runat="server"> <fieldheaderstyle backcolor="Navy" forecolor="White"/> </asp:detailsview> <!-- 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" runat="server" ConnectionString= "<%$ ConnectionStrings:NorthWindConnectionString%>" InsertCommand="INSERT INTO [Customers]([CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country]) VALUES (@CustomerID, @CompanyName, @Address, @City, @PostalCode, @Country)" SelectCommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"> </asp:SqlDataSource> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void CustomerDetailView_ModeChanging(Object sender, DetailsViewModeEventArgs e) { // Disable the paging feature in edit mode. if (e.NewMode == DetailsViewMode.Edit) { CustomerDetailView.AllowPaging = false; } else { CustomerDetailView.AllowPaging = true; } } </script> <html> <body> <form id="Form1" runat="server"> <h3>DetailsView ModeChanging Example</h3> <asp:detailsview id="CustomerDetailView" datasourceid="DetailsViewSource" datakeynames="CustomerID" autogeneraterows="true" autogenerateeditbutton="true" allowpaging="true" onmodechanging="CustomerDetailView_ModeChanging" runat="server"> <fieldheaderstyle backcolor="Navy" forecolor="White"/> </asp:detailsview> <!-- 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" runat="server" ConnectionString= "<%$ ConnectionStrings:NorthWindConnectionString%>" InsertCommand="INSERT INTO [Customers]([CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country]) VALUES (@CustomerID, @CompanyName, @Address, @City, @PostalCode, @Country)" SelectCommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"> </asp:SqlDataSource> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からDetailsView.ModeChanging イベントを検索する場合は、下記のリンクをクリックしてください。

- DetailsView.ModeChanging イベントのページへのリンク