DetailsViewInsertEventHandler デリゲート
アセンブリ: System.Web (system.web.dll 内)

Public Delegate Sub DetailsViewInsertEventHandler ( _ sender As Object, _ e As DetailsViewInsertEventArgs _ )
public delegate void DetailsViewInsertEventHandler ( Object^ sender, DetailsViewInsertEventArgs^ e )
/** @delegate */ public delegate void DetailsViewInsertEventHandler ( Object sender, DetailsViewInsertEventArgs e )

DetailsView コントロールは、コントロール内の Insert ボタン (CommandName プロパティが "Insert" に設定されたボタン) がクリックされ、DetailsView コントロールが実際にレコードを挿入する前に ItemInserting イベントを発生させます。これにより、このイベントが発生するたびにカスタム ルーチン (データ ソースにレコードを挿入する前にレコードの値を HTML エンコーディングするなど) を実行するイベント ハンドラを提供できます。
DetailsViewInsertEventHandler デリゲートを作成する場合は、イベントを処理するメソッドを識別してください。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。イベント ハンドラ デリゲートの詳細については、「イベントとデリゲート」を参照してください。

DetailsViewInsertEventHandler デリゲートを、プログラムによって DetailsView コントロールの ItemInserting イベントに追加する方法のコード例を次に示します。
<%@ Page language="VB" %> <script runat="server"> Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) ' Create a new DetailsView object. Dim customerDetailsView As New DetailsView() ' Set the DetailsView object's properties. customerDetailsView.ID = "CustomerDetailsView" customerDetailsView.DataSourceID = "DetailsViewSource" customerDetailsView.AutoGenerateRows = True customerDetailsView.AutoGenerateInsertButton = True customerDetailsView.AllowPaging = True Dim keyArray() As String = {"CustomerID"} customerDetailsView.DataKeyNames = keyArray ' Programmatically register the event-handling method ' for the ItemInserted event of a DetailsView control. AddHandler customerDetailsView.ItemInserting, AddressOf CustomerDetailsView_ItemInserting ' Add the DetailsView object to the Controls collection ' of the PlaceHolder control. DetailsViewPlaceHolder.Controls.Add(customerDetailsView) End Sub Sub CustomerDetailsView_ItemInserting(ByVal sender As Object, ByVal e As DetailsViewInsertEventArgs) ' Use the Values property to retrieve the key field value. Dim keyValue As String = e.Values("CustomerID").ToString() ' Insert the record only if the key field is four characters ' long; otherwise, cancel the insert operation. If keyValue.Length = 4 Then ' Change the key field value to upper case before inserting ' the record in the data source. e.Values("CustomerID") = keyValue.ToUpper() MessageLabel.Text = "" Else MessageLabel.Text = "The key field must have four digits." e.Cancel = True End If End Sub </script> <html> <body> <form runat="server"> <h3>DetailsViewInsertEventHandler Example</h3> <!-- Use a PlaceHolder control as the container for the --> <!-- dynamically generated DetailsView control. --> <asp:PlaceHolder id="DetailsViewPlaceHolder" runat="server"/> <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]" insertcommand="INSERT INTO [Customers]([CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country]) VALUES (@CustomerID, @CompanyName, @Address, @City, @PostalCode, @Country)" connectionstring= "<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void Page_Load(Object sender, EventArgs e) { // Create a new DetailsView object. DetailsView customerDetailsView = new DetailsView(); // Set the DetailsView object's properties. customerDetailsView.ID = "CustomerDetailsView"; customerDetailsView.DataSourceID = "DetailsViewSource"; customerDetailsView.AutoGenerateRows = true; customerDetailsView.AutoGenerateInsertButton = true; customerDetailsView.AllowPaging = true; customerDetailsView.DataKeyNames = new String[1] { "CustomerID" }; // Programmatically register the event-handling method // for the ItemInserted event of a DetailsView control. customerDetailsView.ItemInserting += new DetailsViewInsertEventHandler(this.CustomerDetailsView_ItemInserting); // Add the DetailsView object to the Controls collection // of the PlaceHolder control. DetailsViewPlaceHolder.Controls.Add(customerDetailsView); } void CustomerDetailsView_ItemInserting(Object sender, DetailsViewInsertEventArgs e) { // Use the Values property to retrieve the key field value. String keyValue = e.Values["CustomerID"].ToString(); // Insert the record only if the key field is four characters // long; otherwise, cancel the insert operation. if (keyValue.Length == 4) { // Change the key field value to upper case before inserting // the record in the data source. e.Values["CustomerID"] = keyValue.ToUpper(); MessageLabel.Text = ""; } else { MessageLabel.Text = "The key field must have four digits."; e.Cancel = true; } } </script> <html> <body> <form runat="server"> <h3>DetailsViewInsertEventHandler Example</h3> <!-- Use a PlaceHolder control as the container for the --> <!-- dynamically generated DetailsView control. --> <asp:PlaceHolder id="DetailsViewPlaceHolder" runat="server"/> <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]" insertcommand="INSERT INTO [Customers]([CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country]) VALUES (@CustomerID, @CompanyName, @Address, @City, @PostalCode, @Country)" connectionstring= "<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
DetailsViewInsertEventHandler デリゲートを、宣言によって DetailsView コントロールの ItemInserting イベントに追加する方法のコード例を次に示します。
<%@ Page language="VB" autoeventwireup="false" %> <script runat="server"> Sub CustomerDetailsView_ItemInserting(ByVal sender As Object, _ ByVal e As DetailsViewInsertEventArgs) _ Handles CustomerDetailsView.ItemInserting ' Use the Values property to retrieve the key field value. Dim keyValue As String = e.Values("CustomerID").ToString() ' Insert the record only if the key field is four characters ' long; otherwise, cancel the insert operation. If keyValue.Length = 4 Then ' Change the key field value to upper case before inserting ' the record in the data source. e.Values("CustomerID") = keyValue.ToUpper() MessageLabel.Text = "" Else MessageLabel.Text = "The key field must have four digits." e.Cancel = True End If End Sub </script> <html> <body> <form runat="server"> <h3>DetailsViewInsertEventHandler Example</h3> <asp:detailsview id="CustomerDetailsView" datasourceid="DetailsViewSource" datakeynames="CustomerID" autogenerateinsertbutton="true" autogeneraterows="true" allowpaging="true" oniteminserting="CustomerDetailsView_ItemInserting" runat="server"> <fieldheaderstyle backcolor="Navy" forecolor="White"/> </asp:detailsview> <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]" insertcommand="INSERT INTO [Customers]([CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country]) VALUES (@CustomerID, @CompanyName, @Address, @City, @PostalCode, @Country)" connectionstring= "<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server"/> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void CustomerDetailsView_ItemInserting(Object sender, DetailsViewInsertEventArgs e) { // Use the Values property to retrieve the key field value. String keyValue = e.Values["CustomerID"].ToString(); // Insert the record only if the key field is four characters // long; otherwise, cancel the insert operation. if (keyValue.Length == 4) { // Change the key field value to upper case before inserting // the record in the data source. e.Values["CustomerID"] = keyValue.ToUpper(); MessageLabel.Text = ""; } else { MessageLabel.Text = "The key field must have four digits."; e.Cancel = true; } } </script> <html> <body> <form runat="server"> <h3>DetailsViewInsertEventHandler Example</h3> <asp:detailsview id="CustomerDetailsView" datasourceid="DetailsViewSource" datakeynames="CustomerID" autogenerateinsertbutton="true" autogeneraterows="true" allowpaging="true" oniteminserting="CustomerDetailsView_ItemInserting" runat="server"> <fieldheaderstyle backcolor="Navy" forecolor="White"/> </asp:detailsview> <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]" insertcommand="INSERT INTO [Customers]([CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country]) VALUES (@CustomerID, @CompanyName, @Address, @City, @PostalCode, @Country)" 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に収録されているすべての辞書からDetailsViewInsertEventHandler デリゲートを検索する場合は、下記のリンクをクリックしてください。

- DetailsViewInsertEventHandler デリゲートのページへのリンク