CommandField Class

Definition

Represents a special field that displays command buttons to perform selecting, editing, inserting, or deleting operations in a data-bound control.

C#
public class CommandField : System.Web.UI.WebControls.ButtonFieldBase
Inheritance

Examples

The following code example demonstrates how to use a CommandField field to display controls to edit a record in a GridView control.

ASP.NET (C#)

<%@ 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>CommandField Example</title>
</head>
<body>
    <form id="form1" runat="server">
      
      <h3>CommandField Example</h3>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="false"
        datakeynames="CustomerID"  
        runat="server">
        
        <columns>
          <asp:commandfield showeditbutton="true"
            headertext="Edit Controls"/>
          <asp:boundfield datafield="CustomerID"
            headertext="Customer ID" />
          <asp:boundfield datafield="CompanyName"
            headertext="Company Name"/>
          <asp:boundfield datafield="Address"
            headertext="Address"/>
          <asp:boundfield datafield="City"
            headertext="City"/>
          <asp:boundfield datafield="PostalCode"
            headertext="ZIP Code"/>
          <asp:boundfield datafield="Country"
            headertext="Country"/>
        </columns>
        
      </asp:gridview>
            
      <!-- 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="CustomersSqlDataSource"  
        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">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>

The following code example demonstrates how to use the CancelText, EditText, and UpdateText properties to customize the text for the editing controls.

ASP.NET (C#)

<%@ 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>CommandField Example</title>
</head>
<body>
    <form id="form1" runat="server">
      
      <h3>CommandField Example</h3>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSqlDataSource" 
        autogeneratecolumns="false"
        datakeynames="CustomerID"  
        runat="server">
        
        <columns>
          <asp:commandfield showeditbutton="true"
            edittext="Edit Customer"
            canceltext="Discard"
            updatetext="Revise"
            headertext="Edit Controls"/>
          <asp:boundfield datafield="CustomerID"
            headertext="Customer ID" />
          <asp:boundfield datafield="CompanyName"
            headertext="Company Name"/>
          <asp:boundfield datafield="Address"
            headertext="Address"/>
          <asp:boundfield datafield="City"
            headertext="City"/>
          <asp:boundfield datafield="PostalCode"
            headertext="ZIP Code"/>
          <asp:boundfield datafield="Country"
            headertext="Country"/>
        </columns>
        
      </asp:gridview>
            
      <!-- 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="CustomersSqlDataSource"  
        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">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>

Remarks

The CommandField class is a special field used by data-bound controls (such as GridView and DetailsView) to display command buttons that perform delete, edit, insert, or select operations. The command buttons to perform these operations can be shown or hidden using the properties shown in the following table.

Property Description
ShowDeleteButton Shows or hides a Delete button in a CommandField field for each record in the data-bound control. The Delete button allows the user to delete a record from the data source.
ShowEditButton Shows or hides an Edit button in a CommandField field for each record in the data-bound control. The Edit button allows the user to edit a record from the data source. When the user clicks the Edit button for a specific record, that Edit button is replaced with an Update button and a Cancel button. All other command buttons are also hidden.
ShowInsertButton Shows or hides the New button in a CommandField field. The New button allows the user to insert a new record in the data source. When the user clicks the New button, it is replaced with an Insert button and a Cancel button. All other command buttons are also hidden. Note: This property applies only to data-bound controls that support inserting operations, such as the DetailsView control.
ShowSelectButton Shows or hides a Select button in a CommandField field for each record in the data-bound control. The Select button allows the user to select a record in the data-bound control.

In addition, the Cancel button displayed when a record is in edit or insert mode can be shown or hidden by setting the ShowCancelButton property.

Note

When a data-bound control is used in combination with a data source control (such as a SqlDataSource control), the data-bound control can take advantage of the data source control's capabilities and provide automatic delete, update, and insert functionality. For other data sources, you need to provide the routines to perform these operations during the appropriate events for the data-bound control.

The CommandField field is displayed differently depending on the data-bound control in which it is used. For example, the GridView control displays a CommandField field as a column, while the DetailsView control displays it as a row.

To specify the type of button to display, use the ButtonType property. When the ButtonType property is set to ButtonType.Button or ButtonType.Link, you can specify the text to display for the buttons by setting the properties shown in the following table.

Property Description
CancelText The caption for the Cancel button.
DeleteText The caption for the Delete button.
EditText The caption for the Edit button.
InsertText The caption for the Insert button. Note: This property applies only to data-bound controls that support insert operations, such as the DetailsView control.
NewText The caption for the New button. Note: This property applies only to data-bound controls that support insert operations, such as the DetailsView control.
SelectText The caption for the Select button.
UpdateText The caption for the Update button.

Instead of displaying a command button or a link button, you can display an image button by setting the ButtonType property to ButtonType.Image and then setting the properties shown in the following table.

Property Description
CancelImageUrl The image to display for the Cancel button
DeleteImageUrl The image to display for the Delete button.
EditImageUrl The image to display for the Edit button.
InsertText The image to display for the Insert button. Note: This property applies only to data-bound controls that support insert operations, such as the DetailsView control.
NewImageUrl The image to display for the New button. Note: This property applies only to data-bound controls that support insert operations, such as the DetailsView control.
SelectImageUrl The image to display for the Select button.
UpdateImageUrl The image to display for the Update button.

By default, when the user clicks a button in a CommandField field, validation is performed on all validation controls on the page. To prevent validation from occurring when a button is clicked, set the CausesValidation property to false.

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

The CommandField field allows you to customize its header and footer sections. To display a caption in the header or the footer section, set the HeaderText or the FooterText property, 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 CommandField object, set the ShowHeader property to false.

Note

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 control's ShowHeader property.

You also can customize the appearance of the CommandField 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 Description
ControlStyle The style settings for the child Web server controls of the CommandField object.
FooterStyle The style settings for the footer section of the CommandField object.
HeaderStyle The style settings for the header section of the CommandField object.
ItemStyle The style settings for the data items in the CommandField object.

Constructors

CommandField()

Initializes a new instance of the CommandField class.

Properties

AccessibleHeaderText

Gets or sets text that is rendered as the AbbreviatedText property value in some controls.

(Inherited from DataControlField)
ButtonType

Gets or sets the button type to display in the button field.

(Inherited from ButtonFieldBase)
CancelImageUrl

Gets or sets the URL to an image to display for the Cancel button in a CommandField field.

CancelText

Gets or sets the caption for the Cancel button displayed in a CommandField field.

CausesValidation

Gets or sets a value indicating whether validation is performed when the user clicks a button in a CommandField field.

Control

Gets a reference to the data control that the DataControlField object is associated with.

(Inherited from DataControlField)
ControlStyle

Gets the style of any Web server controls contained by the DataControlField object.

(Inherited from DataControlField)
DeleteImageUrl

Gets or sets the URL to an image to display for a Delete button in a CommandField field.

DeleteText

Gets or sets the caption for a Delete button in a CommandField field.

DesignMode

Gets a value indicating whether a data control field is currently viewed in a design-time environment.

(Inherited from DataControlField)
EditImageUrl

Gets or sets the URL to an image to display for an Edit button in a CommandField field.

EditText

Gets or sets the caption for an Edit button in a CommandField field.

FooterStyle

Gets or sets the style of the footer of the data control field.

(Inherited from DataControlField)
FooterText

Gets or sets the text that is displayed in the footer item of a data control field.

(Inherited from DataControlField)
HeaderImageUrl

Gets or sets the URL of an image that is displayed in the header item of a data control field.

(Inherited from DataControlField)
HeaderStyle

Gets or sets the style of the header of the data control field.

(Inherited from DataControlField)
HeaderText

Gets or sets the text that is displayed in the header item of a data control field.

(Inherited from DataControlField)
InsertImageUrl

Gets or sets the URL to an image to display for the Insert button in a CommandField field.

InsertText

Gets or sets the caption for the Insert button in a CommandField field.

InsertVisible

Gets a value indicating whether the DataControlField object is visible when its parent data-bound control is in insert mode.

(Inherited from DataControlField)
IsTrackingViewState

Gets a value indicating whether the DataControlField object is saving changes to its view state.

(Inherited from DataControlField)
ItemStyle

Gets the style of any text-based content displayed by a data control field.

(Inherited from DataControlField)
NewImageUrl

Gets or sets the URL to an image to display for the New button in a CommandField field.

NewText

Gets or sets the caption for the New button in a CommandField field.

SelectImageUrl

Gets or sets the URL to an image to display for a Select button in a CommandField field.

SelectText

Gets or sets the caption for a Select button in a CommandField field.

ShowCancelButton

Gets or sets a value indicating whether a Cancel button is displayed in a CommandField field.

ShowDeleteButton

Gets or sets a value indicating whether a Delete button is displayed in a CommandField field.

ShowEditButton

Gets or sets a value indicating whether an Edit button is displayed in a CommandField field.

ShowHeader

Gets or sets a value indicating whether the header section is displayed in a ButtonFieldBase object.

(Inherited from ButtonFieldBase)
ShowInsertButton

Gets or sets a value indicating whether a New button is displayed in a CommandField field.

ShowSelectButton

Gets or sets a value indicating whether a Select button is displayed in a CommandField field.

SortExpression

Gets or sets a sort expression that is used by a data source control to sort data.

(Inherited from DataControlField)
UpdateImageUrl

Gets or sets the URL to an image to display for an Update button in a CommandField field.

UpdateText

Gets or sets the caption for an Update button in a CommandField field.

ValidateRequestMode

Gets or sets a value that specifies whether the control validates client input.

(Inherited from DataControlField)
ValidationGroup

Gets or sets the name of the group of validation controls to validate when a button in a ButtonFieldBase object is clicked.

(Inherited from ButtonFieldBase)
ViewState

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.

(Inherited from DataControlField)
Visible

Gets or sets a value indicating whether a data control field is rendered.

(Inherited from DataControlField)

Methods

CloneField()

Creates a duplicate copy of the current DataControlField-derived object.

(Inherited from DataControlField)
CopyProperties(DataControlField)

Copies the properties of the current CommandField object to the specified DataControlField object.

CreateField()

Creates an empty CommandField object.

Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean)

Extracts the value of the data control field from the current table cell and adds the value to the specified IDictionary collection.

(Inherited from DataControlField)
GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
Initialize(Boolean, Control)

Performs basic instance initialization for a data control field.

(Inherited from DataControlField)
InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32)

Initializes the specified DataControlFieldCell object to the specified row state.

LoadViewState(Object)

Restores the data source view's previously saved view state.

(Inherited from DataControlField)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
OnFieldChanged()

Raises the FieldChanged event.

(Inherited from DataControlField)
SaveViewState()

Saves the changes made to the DataControlField view state since the time the page was posted back to the server.

(Inherited from DataControlField)
ToString()

Returns a string that represents this DataControlField object.

(Inherited from DataControlField)
TrackViewState()

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)
ValidateSupportsCallback()

Determines whether the controls contained in a CommandField object support callbacks.

Explicit Interface Implementations

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Gets or sets the schema associated with this DataControlField object.

(Inherited from DataControlField)
IStateManager.IsTrackingViewState

Gets a value indicating whether the DataControlField object is saving changes to its view state.

(Inherited from DataControlField)
IStateManager.LoadViewState(Object)

Restores the data control field's previously saved view state.

(Inherited from DataControlField)
IStateManager.SaveViewState()

Saves the changes made to the DataControlField view state since the time the page was posted back to the server.

(Inherited from DataControlField)
IStateManager.TrackViewState()

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)

Applies to

Product Versions
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

See also