ButtonField クラス

定義

データ バインド コントロール内にボタンとして表示されるフィールドを表します。Represents a field that is displayed as a button in a data-bound control.

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 ます。The following code example demonstrates how to use a ButtonField object to display a column of command buttons in a GridView control.


<%@ 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 データバインドコントロール (やなど) によって、 GridView 表示さ DetailsView れる各レコードのボタンを表示するために使用されます。The ButtonField class is used by data-bound controls (such as GridView and DetailsView) to display a button for each record that is displayed. オブジェクトは、使用される ButtonField データバインドコントロールによって異なる方法で表示されます。The ButtonField object is displayed differently depending on the data-bound control in which it is used. たとえば、コントロールによって GridView オブジェクトが列として表示され、 ButtonField コントロールにはそのオブジェクトが行として表示され DetailsView ます。For example, the GridView control displays a ButtonField object as a column, while the DetailsView control displays it as a row.

ボタンフィールドのボタンをクリックすると、親データバインドコントロールのコマンドイベントが発生します。Clicking a button in a button field raises the command event of the parent data-bound control. コマンドイベントのイベントハンドラーを指定することで、コマンドボタンをクリックしたときに実行するカスタムルーチンを指定できます。You can provide a custom routine to perform when a command button is clicked by providing an event handler for the command event.

注意

コントロールによってイベントが発生し、コントロールによって GridView RowCommand イベントが発生し DetailsView ItemCommand ます。The GridView control raises the RowCommand event, while the DetailsView control raises the ItemCommand event.

コマンドイベントを発生させるレコードのインデックスを特定するには、 CommandArgument データバインドコントロールのコマンドイベントに渡されるイベント引数のプロパティを使用します。To determine the index of the record that raises the command event, use the CommandArgument property of the event argument that is passed to the command event for the data-bound control. クラスは、 ButtonField CommandArgument 適切なインデックス値をプロパティに自動的に設定します。The ButtonField class automatically populates the CommandArgument property with the appropriate index value.

表示するボタンの種類を指定するには、プロパティを使用し ButtonType ます。To specify the type of button to display, use the ButtonType property. リンクまたはコマンドボタンを表示する場合は、プロパティを使用して、 Text ボタンに表示するキャプションを指定します。When displaying a link or command button, use the Text property to specify the caption to display in the buttons.

注意

プロパティを設定した場合 Text 、のすべてのボタンが ButtonField 同じキャプションを共有します。If you set the Text property, all buttons in a ButtonField share the same caption.

または、 ButtonField オブジェクトをデータソースのフィールドにバインドすることもできます。Alternatively, you can bind the ButtonField object to a field in a data source. これにより、オブジェクトのボタンのさまざまなキャプションを表示でき ButtonField ます。This allows you to display different captions for the buttons in the ButtonField object. 指定したフィールドの値は、ボタンのテキストキャプションに使用されます。The values that are in the specified field are used for the text captions of the buttons. オブジェクトを DataTextField ButtonField データソースのフィールドにバインドするには、プロパティを設定します。Set the DataTextField property to bind a ButtonField object to a field in a data source.

イメージボタンを表示する場合は、プロパティを使用して、 ImageUrl オブジェクト内のボタンに表示するイメージを指定し ButtonField ます。When displaying an image button, use the ImageUrl property to specify the image to display for the buttons in the ButtonField object.

注意

オブジェクト内のすべてのボタン ButtonField は、同じイメージを共有します。All buttons in a ButtonField object share the same image.

データバインドコントロール内のオブジェクトを非表示にするには ButtonFieldVisible プロパティをに設定し false ます。You can hide a ButtonField object in a data-bound control by setting the Visible property to false.

オブジェクトを使用すると、 ButtonField ヘッダーセクションとフッターセクションをカスタマイズできます。The ButtonField object allows you to customize its header and footer sections. ヘッダーまたはフッターセクションにキャプションを表示するには、 HeaderText プロパティまたは FooterText プロパティをそれぞれ設定します。To display a caption in the header or footer section, set the HeaderText or FooterText properties, respectively. ヘッダーセクションにテキストを表示する代わりに、プロパティを設定してイメージを表示でき HeaderImageUrl ます。Instead of displaying text in the header section, you can display an image by setting the HeaderImageUrl property. オブジェクトのヘッダーセクションを非表示にするには ButtonField 、プロパティをに設定し ShowHeader false ます。To hide the header section in a ButtonField object, set the ShowHeader property to false.

注意

一部のデータバインドコントロール ( GridView コントロールなど) では、コントロールのヘッダーセクション全体だけを表示または非表示にすることができます。Some data-bound controls (such as the GridView control) can show or hide only the entire header section of the control. これらのデータバインドコントロールは、 ShowHeader 個々のボタンフィールドのプロパティをサポートしていません。These data-bound controls do not support the ShowHeader property for an individual button field. データバインドコントロールのヘッダーセクション全体 (使用可能な場合) を表示または非表示にするには、 ShowHeader コントロールのプロパティを使用します。To show or hide the entire header section of a data-bound control (if available), use the ShowHeader property for the control.

また、 ButtonField フィールドのさまざまな部分のスタイルプロパティを設定して、オブジェクト (フォントの色、背景色など) の外観をカスタマイズすることもできます。You also can customize the appearance of the ButtonField object (font color, background color, and so on) by setting the style properties for the different parts of the field. 次の表は、さまざまなスタイルプロパティを示しています。The following table lists the different style properties.

Style プロパティStyle property のスタイル設定The style settings for
ControlStyle の子 Web サーバーコントロール ButtonFieldThe child Web server controls of the ButtonField.
FooterStyle のフッターセクション ButtonFieldThe footer section of the ButtonField.
HeaderStyle のヘッダーセクション ButtonFieldThe header section of the ButtonField.
ItemStyle 内のデータ項目 ButtonFieldThe data items in the ButtonField.

コンストラクター

ButtonField()

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

プロパティ

AccessibleHeaderText

一部のコントロールの AbbreviatedText プロパティ値として表示されるテキストを取得または設定します。Gets or sets text that is rendered as the AbbreviatedText property value in some controls.

(継承元 DataControlField)
ButtonType

ボタン フィールドに表示するボタンの種類を取得または設定します。Gets or sets the button type to display in the button field.

(継承元 ButtonFieldBase)
CausesValidation

ButtonFieldBase オブジェクトのボタンがクリックされたときに検証を実行するかどうかを示す値を取得または設定します。Gets or sets a value indicating whether validation is performed when a button in a ButtonFieldBase object is clicked.

(継承元 ButtonFieldBase)
CommandName

ButtonField オブジェクトのボタンがクリックされたときに実行されるアクションを表す文字列を取得または設定します。Gets or sets a string that represents the action to perform when a button in a ButtonField object is clicked.

Control

DataControlField オブジェクトが関連付けられているデータ コントロールの参照を取得します。Gets a reference to the data control that the DataControlField object is associated with.

(継承元 DataControlField)
ControlStyle

DataControlField オブジェクトに格納されているすべての Web サーバー コントロールのスタイルを取得します。Gets the style of any Web server controls contained by the DataControlField object.

(継承元 DataControlField)
DataTextField

Text オブジェクトが表示する Button コントロールの ButtonField プロパティにバインドされている値のデータ フィールド名を取得または設定します。Gets or sets the name of the data field for which the value is bound to the Text property of the Button control that is rendered by the ButtonField object.

DataTextFormatString

フィールドの値の表示形式を指定する文字列を取得または設定します。Gets or sets the string that specifies the display format for the value of the field.

DesignMode

デザイン時環境で、現在データ コントロール フィールドが表示されているかどうかを示す値を取得します。Gets a value indicating whether a data control field is currently viewed in a design-time environment.

(継承元 DataControlField)
FooterStyle

データ コントロール フィールドのフッターのスタイルを取得または設定します。Gets or sets the style of the footer of the data control field.

(継承元 DataControlField)
FooterText

データ コントロール フィールドのフッター項目に表示されるテキストを取得または設定します。Gets or sets the text that is displayed in the footer item of a data control field.

(継承元 DataControlField)
HeaderImageUrl

データ コントロール フィールドのヘッダー項目に表示されるイメージの URL を取得または設定します。Gets or sets the URL of an image that is displayed in the header item of a data control field.

(継承元 DataControlField)
HeaderStyle

データ コントロール フィールドのヘッダーのスタイルを取得または設定します。Gets or sets the style of the header of the data control field.

(継承元 DataControlField)
HeaderText

データ コントロール フィールドのヘッダー項目に表示されるテキストを取得または設定します。Gets or sets the text that is displayed in the header item of a data control field.

(継承元 DataControlField)
ImageUrl

ButtonField オブジェクトの各ボタンに表示されるイメージを取得または設定します。Gets or sets the image to display for each button in the ButtonField object.

InsertVisible

DataControlField オブジェクトの親データ バインド コントロールが挿入モードの場合に、このオブジェクトが表示されるかどうかを示す値を取得します。Gets a value indicating whether the DataControlField object is visible when its parent data-bound control is in insert mode.

(継承元 DataControlField)
IsTrackingViewState

DataControlField オブジェクトがビューステートへの変更を保存しているかどうかを示す値を取得します。Gets a value indicating whether the DataControlField object is saving changes to its view state.

(継承元 DataControlField)
ItemStyle

データ コントロール フィールドで表示されるテキスト ベースの内容のスタイルを取得します。Gets the style of any text-based content displayed by a data control field.

(継承元 DataControlField)
ShowHeader

ButtonFieldBase オブジェクトにヘッダー セクションを表示するかどうかを示す値を取得または設定します。Gets or sets a value indicating whether the header section is displayed in a ButtonFieldBase object.

(継承元 ButtonFieldBase)
SortExpression

データ ソース コントロールでデータを並べ替えるために使用される並べ替え式を、取得または設定します。Gets or sets a sort expression that is used by a data source control to sort data.

(継承元 DataControlField)
Text

ButtonField オブジェクトの各ボタンに表示される静的キャプションを取得または設定します。Gets or sets the static caption that is displayed for each button in the ButtonField object.

ValidateRequestMode

コントロールでクライアントの入力を検証するかどうかを指定する値を取得または設定します。Gets or sets a value that specifies whether the control validates client input.

(継承元 DataControlField)
ValidationGroup

ButtonFieldBase オブジェクトのボタンがクリックされたときに検証する検証コントロールのグループの名前を取得または設定します。Gets or sets the name of the group of validation controls to validate when a button in a ButtonFieldBase object is clicked.

(継承元 ButtonFieldBase)
ViewState

同一のページに対する複数の要求にわたって、DataControlField オブジェクトのビューステートを保存し、復元できるようにする状態情報のディクショナリを取得します。Gets a dictionary of state information that allows you to save and restore the view state of a DataControlField object across multiple requests for the same page.

(継承元 DataControlField)
Visible

データ コントロール フィールドを表示するかどうかを示す値を取得または設定します。Gets or sets a value indicating whether a data control field is rendered.

(継承元 DataControlField)

メソッド

CloneField()

現在の DataControlField 派生オブジェクトのコピーを作成します。Creates a duplicate copy of the current DataControlField-derived object.

(継承元 DataControlField)
CopyProperties(DataControlField)

ButtonField オブジェクトの現在のプロパティを、指定された DataControlField オブジェクトにコピーします。Copies the properties of the current ButtonField object to the specified DataControlField object.

CreateField()

ButtonField クラスの新しいインスタンスを作成して返します。Creates and returns a new instance of the ButtonField class.

Equals(Object)

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

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

現在のテーブル セルからデータ コントロール フィールドの値を抽出し、指定した IDictionary コレクションにその値を追加します。Extracts the value of the data control field from the current table cell and adds the value to the specified IDictionary collection.

(継承元 DataControlField)
FormatDataTextValue(Object)

ButtonField オブジェクトのセルの指定したフィールド値を書式変換します。Formats the specified field value for a cell in the ButtonField object.

GetHashCode()

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

(継承元 Object)
GetType()

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

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

現在の ButtonField オブジェクトを初期化します。Initializes the current ButtonField object.

InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32)

指定された DataControlFieldCell オブジェクトを、指定された行の状態に初期化します。Initializes the specified DataControlFieldCell object to the specified row state.

LoadViewState(Object)

データ ソース ビューの、以前保存したビューステートを復元します。Restores the data source view's previously saved view state.

(継承元 DataControlField)
MemberwiseClone()

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

(継承元 Object)
OnFieldChanged()

FieldChanged イベントを発生させます。Raises the FieldChanged event.

(継承元 DataControlField)
SaveViewState()

ページがサーバーにポストバックされた時間以降に発生した、DataControlField ビューステートへの変更を保存します。Saves the changes made to the DataControlField view state since the time the page was posted back to the server.

(継承元 DataControlField)
ToString()

この DataControlField オブジェクトを表す文字列を返します。Returns a string that represents this DataControlField object.

(継承元 DataControlField)
TrackViewState()

DataControlField オブジェクトがそのビューステートの変更を追跡するようにします。それにより、変更をコントロールの ViewState プロパティに格納して、同じページに対する複数の要求にわたって永続化できます。Causes the DataControlField object to track changes to its view state so they can be stored in the control's ViewState property and persisted across requests for the same page.

(継承元 DataControlField)
ValidateSupportsCallback()

ButtonField オブジェクトに格納されているコントロールがコールバックをサポートしているかどうかを確認します。Determines whether the controls that are contained in a ButtonField object support callbacks.

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

IDataSourceViewSchemaAccessor.DataSourceViewSchema

DataControlField オブジェクトに関連付けられているスキーマを取得または設定します。Gets or sets the schema associated with this DataControlField object.

(継承元 DataControlField)
IStateManager.IsTrackingViewState

DataControlField オブジェクトがビューステートへの変更を保存しているかどうかを示す値を取得します。Gets a value indicating whether the DataControlField object is saving changes to its view state.

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

データ コントロール フィールドの、以前保存したビューステートを復元します。Restores the data control field's previously saved view state.

(継承元 DataControlField)
IStateManager.SaveViewState()

ページがサーバーにポストバックされた時間以降に発生した、DataControlField ビューステートへの変更を保存します。Saves the changes made to the DataControlField view state since the time the page was posted back to the server.

(継承元 DataControlField)
IStateManager.TrackViewState()

DataControlField オブジェクトがそのビューステートの変更を追跡するようにします。それにより、変更をコントロールの ViewState プロパティに格納して、同じページに対する複数の要求にわたって永続化できます。Causes the DataControlField object to track changes to its view state so they can be stored in the control's ViewState property and persisted across requests for the same page.

(継承元 DataControlField)

適用対象

こちらもご覧ください