Share via


DetailsView.AutoGenerateEditButton プロパティ

定義

現在のレコードを編集するための組み込みのコントロールを DetailsView コントロールに表示するかどうかを示す値を取得または設定します。

public:
 virtual property bool AutoGenerateEditButton { bool get(); void set(bool value); };
public virtual bool AutoGenerateEditButton { get; set; }
member this.AutoGenerateEditButton : bool with get, set
Public Overridable Property AutoGenerateEditButton As Boolean

プロパティ値

Boolean

現在のレコードを編集するための組み込みのコントロールを表示する場合は true。それ以外の場合は false。 既定値は、false です。

次のコード例は、プロパティを使用して、現在のレコードを AutoGenerateEditButton 編集する組み込みコントロールを表示する方法を示しています。


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView AutoGenerateEditButton Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView AutoGenerateEditButton Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogenerateeditbutton="true"  
          autogeneraterows="true"
          allowpaging="true"  
          runat="server">
               
          <headerstyle 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="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView AutoGenerateEditButton Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView AutoGenerateEditButton Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogenerateeditbutton="true"  
          autogeneraterows="true"
          allowpaging="true"  
          runat="server">
               
          <headerstyle 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>

注釈

更新をサポートするデータ ソース コントロールがコントロールに DetailsView バインドされている場合、 DetailsView コントロールはデータ ソース コントロールの機能を利用し、自動更新機能を提供できます。

注意

データ ソース コントロールがデータを更新するには、そのプロパティを SqlDataSource.UpdateCommand 更新クエリ ステートメントで設定する必要があります。

プロパティを AutoGenerateEditButton 設定 trueすると、[ CommandField 編集] ボタンを持つ行フィールドがコントロールに DetailsView 自動的に表示されます。 [編集] ボタンをクリックすると、そのコントロールが DetailsView 編集モードになります。 編集モードの場合、読み取り専用ではないコントロール内のバインドされた各フィールドには、フィールドのデータ型の適切な入力コントロール (コントロールなど TextBox ) が表示されます。 これにより、ユーザーはフィールドの値を変更できます。

クリックすると、[編集] ボタンも [更新] ボタンと [キャンセル] ボタンに置き換えられます。 [更新] ボタンをクリックすると、データ ソース内のレコードが更新され、値が変更され、プロパティで指定されたモードにコントロールが DefaultMode 返されます。 [キャンセル] ボタンをクリックすると、値の変更が破棄され、コントロールが既定のモードに戻ります。

注意

プログラムでコントロールを DetailsView 編集モードにするには、このメソッドを使用します ChangeMode

AutoGenerateRowsプロパティも設定trueされている場合、DetailsViewコントロールは、プロパティで指定されたフィールドが読み取り専用であることを自動的にDataKeyNames確認します。

注意

独自の更新機能を実装しない限り、自動更新機能が DataKeyNames 機能するようにプロパティを設定する必要があります。

このプロパティを使用して、コントロールが編集モードのときに DetailsView データ行の外観を EditRowStyle 制御できます。 一般的な設定には、通常、カスタム背景色、前景色、フォント プロパティが含まれます。

この DetailsView コントロールには、レコードの更新時にカスタム アクションを実行するために使用できるいくつかのイベントが用意されています。 次の表に、使用可能なイベントの一覧を示します。

Event 説明
ItemUpdated [更新] ボタンをクリックしたときに、コントロールがレコードを更新した後に DetailsView 発生します。 このイベントは、多くの場合、更新操作の結果を確認するために使用されます。
ItemUpdating [更新] ボタンをクリックしたときに、コントロールがレコードを更新する前に DetailsView 発生します。 このイベントは、更新操作を取り消すためによく使用されます。
ModeChanged コントロールがモードを変更した後に DetailsView 発生します。
ModeChanging コントロールがモードを変更する DetailsView 前に発生します。 このイベントは、多くの場合、モードの変更を取り消すために使用されます。

AutoGenerateEditButton 値はビュー ステートに格納されます。

適用対象

こちらもご覧ください