0 out of 3 rated this helpful - Rate this topic

CommandField Class

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

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

The CommandField type exposes the following members.

  Name Description
Public method CommandField Initializes a new instance of the CommandField class.
Top
  Name Description
Public property AccessibleHeaderText Gets or sets text that is rendered as the AbbreviatedText property value in some controls. (Inherited from DataControlField.)
Public property ButtonType Gets or sets the button type to display in the button field. (Inherited from ButtonFieldBase.)
Public property CancelImageUrl Gets or sets the URL to an image to display for the Cancel button in a CommandField field.
Public property CancelText Gets or sets the caption for the Cancel button displayed in a CommandField field.
Public property CausesValidation Gets or sets a value indicating whether validation is performed when the user clicks a button in a CommandField field. (Overrides ButtonFieldBase.CausesValidation.)
Protected property Control Gets a reference to the data control that the DataControlField object is associated with. (Inherited from DataControlField.)
Public property ControlStyle Gets the style of any Web server controls contained by the DataControlField object. (Inherited from DataControlField.)
Public property DeleteImageUrl Gets or sets the URL to an image to display for a Delete button in a CommandField field.
Public property DeleteText Gets or sets the caption for a Delete button in a CommandField field.
Protected property DesignMode Gets a value indicating whether a data control field is currently viewed in a design-time environment. (Inherited from DataControlField.)
Public property EditImageUrl Gets or sets the URL to an image to display for an Edit button in a CommandField field.
Public property EditText Gets or sets the caption for an Edit button in a CommandField field.
Public property FooterStyle Gets or sets the style of the footer of the data control field. (Inherited from DataControlField.)
Public property FooterText Gets or sets the text that is displayed in the footer item of a data control field. (Inherited from DataControlField.)
Public property HeaderImageUrl Gets or sets the URL of an image that is displayed in the header item of a data control field. (Inherited from DataControlField.)
Public property HeaderStyle Gets or sets the style of the header of the data control field. (Inherited from DataControlField.)
Public property HeaderText Gets or sets the text that is displayed in the header item of a data control field. (Inherited from DataControlField.)
Public property InsertImageUrl Gets or sets the URL to an image to display for the Insert button in a CommandField field.
Public property InsertText Gets or sets the caption for the Insert button in a CommandField field.
Public property InsertVisible Gets a value indicating whether the DataControlField object is visible when its parent data-bound control is in insert mode. (Inherited from DataControlField.)
Protected property IsTrackingViewState Gets a value indicating whether the DataControlField object is saving changes to its view state. (Inherited from DataControlField.)
Public property ItemStyle Gets the style of any text-based content displayed by a data control field. (Inherited from DataControlField.)
Public property NewImageUrl Gets or sets the URL to an image to display for the New button in a CommandField field.
Public property NewText Gets or sets the caption for the New button in a CommandField field.
Public property SelectImageUrl Gets or sets the URL to an image to display for a Select button in a CommandField field.
Public property SelectText Gets or sets the caption for a Select button in a CommandField field.
Public property ShowCancelButton Gets or sets a value indicating whether a Cancel button is displayed in a CommandField field.
Public property ShowDeleteButton Gets or sets a value indicating whether a Delete button is displayed in a CommandField field.
Public property ShowEditButton Gets or sets a value indicating whether an Edit button is displayed in a CommandField field.
Public property ShowHeader Gets or sets a value indicating whether the header section is displayed in a ButtonFieldBase object. (Inherited from ButtonFieldBase.)
Public property ShowInsertButton Gets or sets a value indicating whether a New button is displayed in a CommandField field.
Public property ShowSelectButton Gets or sets a value indicating whether a Select button is displayed in a CommandField field.
Public property SortExpression Gets or sets a sort expression that is used by a data source control to sort data. (Inherited from DataControlField.)
Public property UpdateImageUrl Gets or sets the URL to an image to display for an Update button in a CommandField field.
Public property UpdateText Gets or sets the caption for an Update button in a CommandField field.
Public property 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.)
Protected property 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.)
Public property Visible Gets or sets a value indicating whether a data control field is rendered. (Inherited from DataControlField.)
Top
  Name Description
Protected method CloneField Infrastructure. Creates a duplicate copy of the current DataControlField-derived object. (Inherited from DataControlField.)
Protected method CopyProperties Copies the properties of the current CommandField object to the specified DataControlField object. (Overrides ButtonFieldBase.CopyProperties(DataControlField).)
Protected method CreateField Creates an empty CommandField object. (Overrides DataControlField.CreateField().)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Public method ExtractValuesFromCell 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.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Public method Initialize Performs basic instance initialization for a data control field. (Inherited from DataControlField.)
Public method InitializeCell Initializes the specified DataControlFieldCell object to the specified row state. (Overrides DataControlField.InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32).)
Protected method LoadViewState Restores the data source view's previously saved view state. (Inherited from DataControlField.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnFieldChanged Raises the FieldChanged event. (Inherited from DataControlField.)
Protected method SaveViewState Saves the changes made to the DataControlField view state since the time the page was posted back to the server. (Inherited from DataControlField.)
Public method ToString Returns a string that represents this DataControlField object. (Inherited from DataControlField.)
Protected method 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.)
Public method ValidateSupportsCallback Determines whether the controls contained in a CommandField object support callbacks. (Overrides DataControlField.ValidateSupportsCallback().)
Top
  Name Description
Explicit interface implemetation Private property IDataSourceViewSchemaAccessor.DataSourceViewSchema Infrastructure. Gets or sets the schema associated with this DataControlField object. (Inherited from DataControlField.)
Explicit interface implemetation Private property IStateManager.IsTrackingViewState Infrastructure. Gets a value indicating whether the DataControlField object is saving changes to its view state. (Inherited from DataControlField.)
Explicit interface implemetation Private method IStateManager.LoadViewState Infrastructure. Restores the data control field's previously saved view state. (Inherited from DataControlField.)
Explicit interface implemetation Private method IStateManager.SaveViewState Infrastructure. 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 implemetation Private method IStateManager.TrackViewState Infrastructure. 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 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.

NoteNote
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 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.

NoteNote
This property applies only to data-bound controls that support insert operations, such as the DetailsView control.

NewText

The caption for the New button.

NoteNote
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.

NoteNote
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.

NoteNote
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 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.

The following code example demonstrates how to use a CommandField field to display controls to edit a record 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">
<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.



<%@ 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>



.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.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ