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

Dim instance As FormView Dim handler As FormViewDeleteEventHandler AddHandler instance.ItemDeleting, handler
public: event FormViewDeleteEventHandler^ ItemDeleting { void add (FormViewDeleteEventHandler^ value); void remove (FormViewDeleteEventHandler^ value); }

FormView コントロールは、コントロール内の Delete ボタン (CommandName プロパティが "Delete" に設定されたボタン) がクリックされた場合に、FormView コントロールが実際にレコードを削除する前に ItemDeleting イベントを発生させます。これにより、このイベントが発生するたびにカスタム ルーチン (削除前にレコードを検査するなど) を実行するイベント処理メソッドを提供できます。
FormViewDeleteEventArgs オブジェクトがイベント処理メソッドに渡されることにより、削除されるレコードのインデックスを確認したり、削除操作をキャンセルする必要があることを示したりできます。レコードのインデックスを確認するには、RowIndex プロパティを使用します。削除操作をキャンセルするには、Cancel プロパティを true に設定します。また、Keys プロパティを使用してキー フィールドにアクセスしたり、Values プロパティを使用してキー以外のフィールドにアクセスしたりすることもできます。

ItemDeleting イベントを使用して、削除操作をキャンセルする方法を次の例に示します。
<%@ Page language="VB" %> <script runat="server"> Sub EmployeeFormView_ItemDeleting(ByVal sender As Object, ByVal e As FormViewDeleteEventArgs) ' Get the employee ID, name, and job title from the Keys and Values ' properties. Dim keyValue As String = e.Keys("EmployeeID").ToString() Dim employeeName As String = e.Values("FirstName").ToString() & _ " " & e.Values("LastName").ToString() Dim title As String = e.Values("Title").ToString() ' Cancel the delete operation if the user attempts to ' delete a protected record. In this example, records for ' employees with a "Sales Manager" job title are protected. If Title.Equals("Sales Manager") Then e.Cancel = True MessageLabel.Text = "You cannot delete record " & _ e.RowIndex.ToString() & ". " & employeeName & _ " (Employee Number " & keyValue.ToString() & _ ") is protected." End If End Sub </script> <html> <body> <form runat="server"> <h3>FormViewDeleteEventArgs Example</h3> <asp:formview id="EmployeeFormView" datasourceid="EmployeeSource" allowpaging="true" datakeynames="EmployeeID" onitemdeleting="EmployeeFormView_ItemDeleting" runat="server"> <itemtemplate> <table> <tr> <td> <asp:image id="EmployeeImage" imageurl='<%# Eval("PhotoPath") %>' alternatetext='<%# Eval("LastName") %>' runat="server"/> </td> <td> <asp:label id="FirstNameLabel" text='<%#Bind("FirstName")%>' font-bold="true" runat="server"/> <asp:label id="LastNameLabel" text='<%#Bind("LastName")%>' font-bold="true" runat="server"/> <br/> <asp:label id="TitleLabel" text='<%#Bind("Title")%>' runat="server"/> </td> </tr> <tr> <td colspan="2"> <asp:button id="DeleteButton" text="Delete Record" commandname="Delete" runat="server" /> </td> </tr> </table> </itemtemplate> </asp:formview> <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="EmployeeSource" selectcommand="Select [EmployeeID], [LastName], [FirstName], [Title], [PhotoPath] From [Employees]" deletecommand="Delete [Employees] Where [EmployeeID]=@EmployeeID" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void EmployeeFormView_ItemDeleting(Object sender, FormViewDeleteEventArgs e) { // Get the employee ID, name, and job title from the Keys and Values // properties. String keyValue = e.Keys["EmployeeID"].ToString(); String employeeName = e.Values["FirstName"].ToString() + " " + e.Values["LastName"].ToString(); String title = e.Values["Title"].ToString(); // Cancel the delete operation if the user attempts to // delete a protected record. In this example, records for // employees with a "Sales Manager" job title are protected. if (title.Equals("Sales Manager")) { e.Cancel = true; MessageLabel.Text = "You cannot delete record " + e.RowIndex.ToString() + ". " + employeeName + " (Employee Number " + keyValue.ToString() + ") is protected."; } } </script> <html> <body> <form runat="server"> <h3>FormViewDeleteEventArgs Example</h3> <asp:formview id="EmployeeFormView" datasourceid="EmployeeSource" allowpaging="true" datakeynames="EmployeeID" onitemdeleting="EmployeeFormView_ItemDeleting" runat="server"> <itemtemplate> <table> <tr> <td> <asp:image id="EmployeeImage" imageurl='<%# Eval("PhotoPath") %>' alternatetext='<%# Eval("LastName") %>' runat="server"/> </td> <td> <asp:label id="FirstNameLabel" text='<%#Bind("FirstName")%>' font-bold="true" runat="server"/> <asp:label id="LastNameLabel" text='<%#Bind("LastName")%>' font-bold="true" runat="server"/> <br/> <asp:label id="TitleLabel" text='<%#Bind("Title")%>' runat="server"/> </td> </tr> <tr> <td colspan="2"> <asp:button id="DeleteButton" text="Delete Record" commandname="Delete" runat="server" /> </td> </tr> </table> </itemtemplate> </asp:formview> <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="EmployeeSource" selectcommand="Select [EmployeeID], [LastName], [FirstName], [Title], [PhotoPath] From [Employees]" deletecommand="Delete [Employees] Where [EmployeeID]=@EmployeeID" connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </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に収録されているすべての辞書からFormView.ItemDeleting イベントを検索する場合は、下記のリンクをクリックしてください。

- FormView.ItemDeleting イベントのページへのリンク