DetailsViewModeEventArgs DetailsViewModeEventArgs DetailsViewModeEventArgs DetailsViewModeEventArgs Class

定義

ModeChanging イベントのデータを提供します。Provides data for the ModeChanging event.

public ref class DetailsViewModeEventArgs : System::ComponentModel::CancelEventArgs
public class DetailsViewModeEventArgs : System.ComponentModel.CancelEventArgs
type DetailsViewModeEventArgs = class
    inherit CancelEventArgs
Public Class DetailsViewModeEventArgs
Inherits CancelEventArgs
継承
DetailsViewModeEventArgsDetailsViewModeEventArgsDetailsViewModeEventArgsDetailsViewModeEventArgs

次のコード例では、 DetailsViewModeEventArgs ModeChangingイベントのイベントハンドラーに渡されたオブジェクトを使用して、コントロールがDetailsView編集モードに遷移したときに、ポケットベルの行を非表示にする方法を示します。The following code example demonstrates how to use the DetailsViewModeEventArgs object passed to the event handler for the ModeChanging event to hide the pager row when the DetailsView control transitions to edit mode.


<%@ 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>

注釈

イベントModeChangingは、 DetailsViewコントロールが編集、挿入、および読み取り専用モードを変更しようとしたときに、モードが実際に変更される前に発生します。The ModeChanging event is raised when a DetailsView control attempts to change between edit, insert, and read-only mode, but before the mode actually changes. これにより、このイベントが発生するたびに、特定のモードのDetailsViewコントロールを構成したり、モードの変更をキャンセルしたりするなど、カスタムルーチンを実行するイベントハンドラーを提供できます。This allows you to provide an event handler that performs a custom routine, such as configuring the DetailsView control for a specific mode or canceling the mode change, whenever this event occurs.

オブジェクトがイベントハンドラーに渡されます。これにより、 DetailsViewコントロールが変更されているモードを判断し、ユーザーがModeChanging編集操作をキャンセルした結果としてイベントが発生したかどうかを判断したり、 DetailsViewModeEventArgs挿入操作を取り消す必要があります。A DetailsViewModeEventArgs object is passed to the event handler, which allows you to determine the mode to which the DetailsView control is changing, to determine whether the ModeChanging event was raised as a result of the user canceling an edit operation, or to indicate that an insert operation should be canceled. 新しいモードを確認するには、 NewModeプロパティを使用します。To determine the new mode, use the NewMode property. また、 NewModeプロパティを使用して、 DetailsViewMode列挙値のいずれかに設定することにより、別のモードに変更することもできます。You can also use the NewMode property to change to an alternate mode by setting it to one of the DetailsViewMode enumeration values. CancelingEditプロパティを使用して、ユーザーが編集操作をキャンセルしたかどうかを確認します。Use the CancelingEdit property to determine whether the user canceled an edit operation. 挿入操作を取り消すには、 Cancelプロパティをにtrue設定します。To cancel an insert operation, set the Cancel property to true.

イベントを処理する方法の詳細については、次を参照してください。処理とイベントの発生します。For more information about how to handle events, see Handling and Raising Events.

DetailsViewModeEventArgs クラスのインスタンスの初期プロパティ値一覧については、DetailsViewModeEventArgs コンストラクターに関するトピックを参照してください。For a list of initial property values for an instance of the DetailsViewModeEventArgs class, see the DetailsViewModeEventArgs constructor.

コンストラクター

DetailsViewModeEventArgs(DetailsViewMode, Boolean) DetailsViewModeEventArgs(DetailsViewMode, Boolean) DetailsViewModeEventArgs(DetailsViewMode, Boolean) DetailsViewModeEventArgs(DetailsViewMode, Boolean)

DetailsViewModeEventArgs クラスの新しいインスタンスを初期化します。Initializes a new instance of the DetailsViewModeEventArgs class.

プロパティ

Cancel Cancel Cancel Cancel

イベントをキャンセルするかどうかを示す値を取得または設定します。Gets or sets a value indicating whether the event should be canceled.

(Inherited from CancelEventArgs)
CancelingEdit CancelingEdit CancelingEdit CancelingEdit

ユーザーが編集操作をキャンセルした結果として ModeChanging イベントが発生したのかどうかを示す値を取得します。Gets a value indicating whether the ModeChanging event was raised as a result of the user canceling an edit operation.

NewMode NewMode NewMode NewMode

DetailsView コントロールの変更後のモードを取得または設定します。Gets or sets the mode to which the DetailsView control is changing.

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象

こちらもご覧ください