Export (0) Print
Expand All
1 out of 3 rated this helpful - Rate this topic

ButtonField Class

Represents a field that is displayed as a button in a data-bound control.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)
public class ButtonField : ButtonFieldBase

The ButtonField type exposes the following members.

  NameDescription
Public methodButtonFieldInitializes a new instance of the ButtonField class.
Top
  NameDescription
Public propertyAccessibleHeaderTextGets or sets text that is rendered as the AbbreviatedText property value in some controls. (Inherited from DataControlField.)
Public propertyButtonTypeGets or sets the button type to display in the button field. (Inherited from ButtonFieldBase.)
Public propertyCausesValidationGets or sets a value indicating whether validation is performed when a button in a ButtonFieldBase object is clicked. (Inherited from ButtonFieldBase.)
Public propertyCommandNameGets or sets a string that represents the action to perform when a button in a ButtonField object is clicked.
Protected propertyControlGets a reference to the data control that the DataControlField object is associated with. (Inherited from DataControlField.)
Public propertyControlStyleGets the style of any Web server controls contained by the DataControlField object. (Inherited from DataControlField.)
Public propertyDataTextFieldGets 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.
Public propertyDataTextFormatStringGets or sets the string that specifies the display format for the value of the field.
Protected propertyDesignModeGets a value indicating whether a data control field is currently viewed in a design-time environment. (Inherited from DataControlField.)
Public propertyFooterStyleGets or sets the style of the footer of the data control field. (Inherited from DataControlField.)
Public propertyFooterTextGets or sets the text that is displayed in the footer item of a data control field. (Inherited from DataControlField.)
Public propertyHeaderImageUrlGets or sets the URL of an image that is displayed in the header item of a data control field. (Inherited from DataControlField.)
Public propertyHeaderStyleGets or sets the style of the header of the data control field. (Inherited from DataControlField.)
Public propertyHeaderTextGets or sets the text that is displayed in the header item of a data control field. (Inherited from DataControlField.)
Public propertyImageUrlGets or sets the image to display for each button in the ButtonField object.
Public propertyInsertVisibleGets a value indicating whether the DataControlField object is visible when its parent data-bound control is in insert mode. (Inherited from DataControlField.)
Protected propertyIsTrackingViewStateGets a value indicating whether the DataControlField object is saving changes to its view state. (Inherited from DataControlField.)
Public propertyItemStyleGets the style of any text-based content displayed by a data control field. (Inherited from DataControlField.)
Public propertyShowHeaderGets or sets a value indicating whether the header section is displayed in a ButtonFieldBase object. (Inherited from ButtonFieldBase.)
Public propertySortExpressionGets or sets a sort expression that is used by a data source control to sort data. (Inherited from DataControlField.)
Public propertyTextGets or sets the static caption that is displayed for each button in the ButtonField object.
Public propertyValidationGroupGets or sets the name of the group of validation controls to validate when a button in a ButtonFieldBase object is clicked. (Inherited from ButtonFieldBase.)
Protected propertyViewStateGets 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. (Inherited from DataControlField.)
Public propertyVisibleGets or sets a value indicating whether a data control field is rendered. (Inherited from DataControlField.)
Top
  NameDescription
Protected methodCloneFieldInfrastructure. Creates a duplicate copy of the current DataControlField-derived object. (Inherited from DataControlField.)
Protected methodCopyPropertiesCopies the properties of the current ButtonField object to the specified DataControlField object. (Overrides ButtonFieldBase.CopyProperties(DataControlField).)
Protected methodCreateFieldCreates and returns a new instance of the ButtonField class. (Overrides DataControlField.CreateField().)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Public methodExtractValuesFromCellExtracts the value of the data control field from the current table cell and adds the value to the specified IDictionary collection. (Inherited from DataControlField.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Protected methodFormatDataTextValueFormats the specified field value for a cell in the ButtonField object.
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodInitializeInitializes the current ButtonField object. (Overrides DataControlField.Initialize(Boolean, Control).)
Public methodInitializeCellInitializes the specified DataControlFieldCell object to the specified row state. (Overrides DataControlField.InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32).)
Protected methodLoadViewStateRestores the data source view's previously saved view state. (Inherited from DataControlField.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Protected methodOnFieldChangedRaises the FieldChanged event. (Inherited from DataControlField.)
Protected methodSaveViewStateSaves the changes made to the DataControlField view state since the time the page was posted back to the server. (Inherited from DataControlField.)
Public methodToStringReturns a string that represents this DataControlField object. (Inherited from DataControlField.)
Protected methodTrackViewStateCauses 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. (Inherited from DataControlField.)
Public methodValidateSupportsCallbackDetermines whether the controls that are contained in a ButtonField object support callbacks. (Overrides DataControlField.ValidateSupportsCallback().)
Top
  NameDescription
Explicit interface implemetationPrivate propertyIDataSourceViewSchemaAccessor.DataSourceViewSchemaInfrastructure. Gets or sets the schema associated with this DataControlField object. (Inherited from DataControlField.)
Explicit interface implemetationPrivate propertyIStateManager.IsTrackingViewStateInfrastructure. Gets a value indicating whether the DataControlField object is saving changes to its view state. (Inherited from DataControlField.)
Explicit interface implemetationPrivate methodIStateManager.LoadViewStateInfrastructure. Restores the data control field's previously saved view state. (Inherited from DataControlField.)
Explicit interface implemetationPrivate methodIStateManager.SaveViewStateInfrastructure. Saves the changes made to the DataControlField view state since the time the page was posted back to the server. (Inherited from DataControlField.)
Explicit interface implemetationPrivate methodIStateManager.TrackViewStateInfrastructure. 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. (Inherited from DataControlField.)
Top

The ButtonField class is used by data-bound controls (such as GridView and DetailsView) to display a button for each record that is displayed. The ButtonField object is displayed differently depending on the data-bound control in which it is used. 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.

NoteNote

The GridView control raises the RowCommand event, while the DetailsView control raises the ItemCommand event.

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. The ButtonField class automatically populates the CommandArgument property with the appropriate index value.

To specify the type of button to display, use the ButtonType property. When displaying a link or command button, use the Text property to specify the caption to display in the buttons.

NoteNote

If you set the Text property, all buttons in a ButtonField share the same caption.

Alternatively, you can bind the ButtonField object to a field in a data source. 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. Set the DataTextField property to bind a ButtonField object to a field in a data source.

When displaying an image button, use the ImageUrl property to specify the image to display for the buttons in the ButtonField object.

NoteNote

All buttons in a ButtonField object share the same image.

You can hide a ButtonField object in a data-bound control by setting the Visible property to false.

The ButtonField object allows you to customize its header and footer sections. To display a caption in the header or footer section, set the HeaderText or FooterText properties, respectively. Instead of displaying text in the header section, you can display an image by setting the HeaderImageUrl property. To hide the header section in a ButtonField object, set the ShowHeader property to false.

NoteNote

Some data-bound controls (such as the GridView control) can show or hide only the entire header section of the control. These data-bound controls do not support the ShowHeader property for an individual button field. To show or hide the entire header section of a data-bound control (if available), use the ShowHeader property for the control.

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 property

The style settings for

ControlStyle

The child Web server controls of the ButtonField.

FooterStyle

The footer section of the ButtonField.

HeaderStyle

The header section of the ButtonField.

ItemStyle

The data items in the ButtonField.

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>



.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.