ButtonField クラス

定義

データ バインド コントロール内にボタンとして表示されるフィールドを表します。

public ref class ButtonField : System::Web::UI::WebControls::ButtonFieldBase
public class ButtonField : System.Web.UI.WebControls.ButtonFieldBase
type ButtonField = class
    inherit ButtonFieldBase
Public Class ButtonField
Inherits ButtonFieldBase
継承

次のコード例では、 オブジェクトを ButtonField 使用してコントロール内のコマンド ボタンの列を表示する方法を GridView 示します。


<%@ 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 CustomersGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
  {
  
    // If multiple ButtonField column fields are used, use the
    // CommandName property to determine which button was clicked.
    if(e.CommandName=="Select")
    {
    
      // Convert the row index stored in the CommandArgument
      // property to an Integer.
      int index = Convert.ToInt32(e.CommandArgument);    
    
      // Get the last name of the selected author from the appropriate
      // cell in the GridView control.
      GridViewRow selectedRow = CustomersGridView.Rows[index];
      TableCell contactName = selectedRow.Cells[1];
      string contact = contactName.Text;  
    
      // Display the selected author.
      Message.Text = "You selected " + contact + ".";
      
    }
    
  }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ButtonField Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>ButtonField Example</h3>
      
      <asp:label id="Message"
        forecolor="Red"
        runat="server"
        AssociatedControlID="CustomersGridView"/>
                    
      <!-- Populate the Columns collection declaratively. -->
      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="false"
        onrowcommand="CustomersGridView_RowCommand"
        runat="server">
                
        <columns>
                
          <asp:buttonfield buttontype="Button" 
            commandname="Select"
            headertext="Select Customer" 
            text="Select"/>
          <asp:boundfield datafield="CompanyName" 
            headertext="Company Name"/>
          <asp:boundfield datafield="ContactName" 
            headertext="Contact Name"/>
                
        </columns>
                
      </asp:gridview>
            
        <!-- This example uses Microsoft SQL Server and connects -->
        <!-- to the Northwind sample database.                   -->
        <asp:sqldatasource id="CustomersSqlDataSource"  
          selectcommand="Select [CustomerID], [CompanyName], [ContactName], [ContactTitle] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
          runat="server">
        </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">
<script runat="server">

    Sub CustomersGridView_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
  
        ' If multiple ButtonField column fields are used, use the
        ' CommandName property to determine which button was clicked.
        If e.CommandName = "Select" Then
    
            ' Convert the row index stored in the CommandArgument
            ' property to an Integer.
            Dim index As Integer = Convert.ToInt32(e.CommandArgument)
    
            ' Get the last name of the selected author from the appropriate
            ' cell in the GridView control.
            Dim selectedRow As GridViewRow = CustomersGridView.Rows(index)
            Dim contactCell As TableCell = selectedRow.Cells(1)
            Dim contact As String = contactCell.Text
    
            ' Display the selected author.
            Message.Text = "You selected " & contact & "."
      
        End If
    
    End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ButtonField Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>ButtonField Example</h3>
      
      <asp:label id="Message"
        forecolor="Red"
        runat="server"
        AssociatedControlID="CustomersGridView"/>
                    
      <!-- Populate the Columns collection declaratively. -->
      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="false"
        onrowcommand="CustomersGridView_RowCommand"
        runat="server">
                
        <columns>
                
          <asp:buttonfield buttontype="Button" 
            commandname="Select"
            headertext="Select Customer" 
            text="Select"/>
          <asp:boundfield datafield="CompanyName" 
            headertext="Company Name"/>
          <asp:boundfield datafield="ContactName" 
            headertext="Contact Name"/>
                
        </columns>
                
      </asp:gridview>
            
        <!-- This example uses Microsoft SQL Server and connects -->
        <!-- to the Northwind sample database.                   -->
        <asp:sqldatasource id="CustomersSqlDataSource"  
          selectcommand="Select [CustomerID], [CompanyName], [ContactName], [ContactTitle] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnection%>"
          runat="server">
        </asp:sqldatasource>
            
    </form>
  </body>
</html>

注釈

クラスはButtonField、表示される各レコードのボタンを表示するために、データ バインド コントロール (や DetailsViewなどGridView) によって使用されます。 オブジェクトは ButtonField 、使用されているデータ バインド コントロールによって異なる方法で表示されます。 たとえば、コントロールは GridView オブジェクトを ButtonField 列として表示し、コントロールは DetailsView オブジェクトを行として表示します。

ボタン フィールド内のボタンをクリックすると、親データ バインド コントロールのコマンド イベントが発生します。 コマンド ボタンがクリックされたときに実行するカスタム ルーチンを指定するには、コマンド イベントのイベント ハンドラーを指定します。

注意

コントロールは GridView イベントを RowCommand 発生させ、コントロールは DetailsView イベントを ItemCommand 発生させます。

コマンド イベントを発生させるレコードのインデックスを確認するには、データ バインド コントロールのコマンド イベントに渡されるイベント引数の プロパティを使用 CommandArgument します。 クラスは ButtonField 、 プロパティに CommandArgument 適切なインデックス値を自動的に設定します。

表示するボタンの種類を指定するには、 プロパティを ButtonType 使用します。 リンクまたはコマンド ボタンを表示する場合は、 プロパティをText使用して、ボタンに表示するキャプションを指定します。

注意

プロパティをText設定すると、内のすべてのボタンがButtonField同じキャプションを共有します。

または、オブジェクトを ButtonField データ ソース内のフィールドにバインドすることもできます。 これにより、オブジェクト内のボタンに対してさまざまなキャプションを ButtonField 表示できます。 指定したフィールド内の値は、ボタンのテキスト キャプションに使用されます。 オブジェクトを DataTextField データ ソース内の ButtonField フィールドにバインドするように プロパティを設定します。

イメージ ボタンを表示する場合は、 プロパティを ImageUrl 使用して、オブジェクト内のボタンに表示するイメージを ButtonField 指定します。

注意

オブジェクト内のすべてのボタンは ButtonField 同じイメージを共有します。

プロパティを ButtonField に設定すると、データ バインド コントロール内のオブジェクトをVisiblefalse非表示にすることができます。

オブジェクトを ButtonField 使用すると、ヘッダーセクションとフッターセクションをカスタマイズできます。 ヘッダーセクションまたはフッターセクションにキャプションを表示するには、それぞれ または FooterText プロパティをHeaderText設定します。 ヘッダー セクションにテキストを表示する代わりに、 プロパティを設定して画像を HeaderImageUrl 表示できます。 オブジェクトの ButtonField ヘッダー セクションを非表示にするには、 プロパティを ShowHeaderfalse設定します。

注意

一部のデータ バインド コントロール (コントロールなど) では、コントロールの GridView ヘッダー セクション全体のみを表示または非表示にすることができます。 これらのデータ バインド コントロールは、個々のボタン フィールドの ShowHeader プロパティをサポートしていません。 データ バインド コントロールのヘッダー セクション全体を表示または非表示にするには (使用可能な場合)、 コントロールの ShowHeader プロパティを使用します。

また、フィールドのさまざまな部分のスタイル プロパティを ButtonField 設定することで、オブジェクトの外観 (フォントの色、背景色など) をカスタマイズすることもできます。 次の表に、さまざまなスタイル プロパティを示します。

Style プロパティ のスタイル設定
ControlStyle の子 Web サーバー コントロール ButtonField
FooterStyle のフッター セクション ButtonField
HeaderStyle のヘッダー セクション ButtonField
ItemStyle 内の ButtonFieldデータ項目。

コンストラクター

ButtonField()

ButtonField クラスの新しいインスタンスを初期化します。

プロパティ

AccessibleHeaderText

一部のコントロールの AbbreviatedText プロパティ値として表示されるテキストを取得または設定します。

(継承元 DataControlField)
ButtonType

ボタン フィールドに表示するボタンの種類を取得または設定します。

(継承元 ButtonFieldBase)
CausesValidation

ButtonFieldBase オブジェクトのボタンがクリックされたときに検証を実行するかどうかを示す値を取得または設定します。

(継承元 ButtonFieldBase)
CommandName

ButtonField オブジェクトのボタンがクリックされたときに実行されるアクションを表す文字列を取得または設定します。

Control

DataControlField オブジェクトが関連付けられているデータ コントロールの参照を取得します。

(継承元 DataControlField)
ControlStyle

DataControlField オブジェクトに格納されているすべての Web サーバー コントロールのスタイルを取得します。

(継承元 DataControlField)
DataTextField

Text オブジェクトが表示する Button コントロールの ButtonField プロパティにバインドされている値のデータ フィールド名を取得または設定します。

DataTextFormatString

フィールドの値の表示形式を指定する文字列を取得または設定します。

DesignMode

デザイン時環境で、現在データ コントロール フィールドが表示されているかどうかを示す値を取得します。

(継承元 DataControlField)
FooterStyle

データ コントロール フィールドのフッターのスタイルを取得または設定します。

(継承元 DataControlField)
FooterText

データ コントロール フィールドのフッター項目に表示されるテキストを取得または設定します。

(継承元 DataControlField)
HeaderImageUrl

データ コントロール フィールドのヘッダー項目に表示されるイメージの URL を取得または設定します。

(継承元 DataControlField)
HeaderStyle

データ コントロール フィールドのヘッダーのスタイルを取得または設定します。

(継承元 DataControlField)
HeaderText

データ コントロール フィールドのヘッダー項目に表示されるテキストを取得または設定します。

(継承元 DataControlField)
ImageUrl

ButtonField オブジェクトの各ボタンに表示されるイメージを取得または設定します。

InsertVisible

DataControlField オブジェクトの親データ バインド コントロールが挿入モードの場合に、このオブジェクトが表示されるかどうかを示す値を取得します。

(継承元 DataControlField)
IsTrackingViewState

DataControlField オブジェクトがビューステートへの変更を保存しているかどうかを示す値を取得します。

(継承元 DataControlField)
ItemStyle

データ コントロール フィールドで表示されるテキスト ベースの内容のスタイルを取得します。

(継承元 DataControlField)
ShowHeader

ButtonFieldBase オブジェクトにヘッダー セクションを表示するかどうかを示す値を取得または設定します。

(継承元 ButtonFieldBase)
SortExpression

データ ソース コントロールでデータを並べ替えるために使用される並べ替え式を、取得または設定します。

(継承元 DataControlField)
Text

ButtonField オブジェクトの各ボタンに表示される静的キャプションを取得または設定します。

ValidateRequestMode

コントロールでクライアントの入力を検証するかどうかを指定する値を取得または設定します。

(継承元 DataControlField)
ValidationGroup

ButtonFieldBase オブジェクトのボタンがクリックされたときに検証する検証コントロールのグループの名前を取得または設定します。

(継承元 ButtonFieldBase)
ViewState

同一のページに対する複数の要求にわたって、DataControlField オブジェクトのビューステートを保存し、復元できるようにする状態情報のディクショナリを取得します。

(継承元 DataControlField)
Visible

データ コントロール フィールドを表示するかどうかを示す値を取得または設定します。

(継承元 DataControlField)

メソッド

CloneField()

現在の DataControlField 派生オブジェクトのコピーを作成します。

(継承元 DataControlField)
CopyProperties(DataControlField)

ButtonField オブジェクトの現在のプロパティを、指定された DataControlField オブジェクトにコピーします。

CreateField()

ButtonField クラスの新しいインスタンスを作成して返します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean)

現在のテーブル セルからデータ コントロール フィールドの値を抽出し、指定した IDictionary コレクションにその値を追加します。

(継承元 DataControlField)
FormatDataTextValue(Object)

ButtonField オブジェクトのセルの指定したフィールド値を書式変換します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
Initialize(Boolean, Control)

現在の ButtonField オブジェクトを初期化します。

InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32)

指定された DataControlFieldCell オブジェクトを、指定された行の状態に初期化します。

LoadViewState(Object)

データ ソース ビューの、以前保存したビューステートを復元します。

(継承元 DataControlField)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
OnFieldChanged()

FieldChanged イベントを発生させます。

(継承元 DataControlField)
SaveViewState()

ページがサーバーにポストバックされた時間以降に発生した、DataControlField ビューステートへの変更を保存します。

(継承元 DataControlField)
ToString()

この DataControlField オブジェクトを表す文字列を返します。

(継承元 DataControlField)
TrackViewState()

DataControlField オブジェクトがそのビューステートの変更を追跡するようにします。それにより、変更をコントロールの ViewState プロパティに格納して、同じページに対する複数の要求にわたって永続化できます。

(継承元 DataControlField)
ValidateSupportsCallback()

ButtonField オブジェクトに格納されているコントロールがコールバックをサポートしているかどうかを確認します。

明示的なインターフェイスの実装

IDataSourceViewSchemaAccessor.DataSourceViewSchema

DataControlField オブジェクトに関連付けられているスキーマを取得または設定します。

(継承元 DataControlField)
IStateManager.IsTrackingViewState

DataControlField オブジェクトがビューステートへの変更を保存しているかどうかを示す値を取得します。

(継承元 DataControlField)
IStateManager.LoadViewState(Object)

データ コントロール フィールドの、以前保存したビューステートを復元します。

(継承元 DataControlField)
IStateManager.SaveViewState()

ページがサーバーにポストバックされた時間以降に発生した、DataControlField ビューステートへの変更を保存します。

(継承元 DataControlField)
IStateManager.TrackViewState()

DataControlField オブジェクトがそのビューステートの変更を追跡するようにします。それにより、変更をコントロールの ViewState プロパティに格納して、同じページに対する複数の要求にわたって永続化できます。

(継承元 DataControlField)

適用対象

こちらもご覧ください