CommandField Clase

Definición

Representa un campo especial que muestra botones de comando para llevar a cabo operaciones de selección, edición, inserción o eliminación en un control enlazado a datos.

public ref class CommandField : System::Web::UI::WebControls::ButtonFieldBase
public class CommandField : System.Web.UI.WebControls.ButtonFieldBase
type CommandField = class
    inherit ButtonFieldBase
Public Class CommandField
Inherits ButtonFieldBase
Herencia

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar un CommandField campo para mostrar controles para editar un registro en un 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>

<%@ Page language="VB" %>

<!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>

En el ejemplo de código siguiente se muestra cómo usar las CancelTextpropiedades , EditTexty UpdateText para personalizar el texto de los controles de edición.


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

<%@ Page language="VB" %>

<!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>

Comentarios

La CommandField clase es un campo especial que usan los controles enlazados a datos (como GridView y DetailsView) para mostrar botones de comando que realizan operaciones de eliminación, edición, inserción o selección. Los botones de comando para realizar estas operaciones se pueden mostrar u ocultar mediante las propiedades que se muestran en la tabla siguiente.

Propiedad Descripción
ShowDeleteButton Muestra u oculta un botón Eliminar en un CommandField campo para cada registro del control enlazado a datos. El botón Eliminar permite al usuario eliminar un registro del origen de datos.
ShowEditButton Muestra u oculta un botón Editar en un CommandField campo para cada registro del control enlazado a datos. El botón Editar permite al usuario editar un registro desde el origen de datos. Cuando el usuario hace clic en el botón Editar de un registro específico, ese botón Editar se reemplaza por un botón Actualizar y un botón Cancelar. Todos los demás botones de comando también están ocultos.
ShowInsertButton Muestra u oculta el botón Nuevo en un CommandField campo. El botón Nuevo permite al usuario insertar un nuevo registro en el origen de datos. Cuando el usuario hace clic en el botón Nuevo, se reemplaza por un botón Insertar y un botón Cancelar. Todos los demás botones de comando también están ocultos. Nota: Esta propiedad solo se aplica a los controles enlazados a datos que admiten operaciones de inserción, como el DetailsView control .
ShowSelectButton Muestra u oculta un botón Seleccionar en un CommandField campo para cada registro del control enlazado a datos. El botón Seleccionar permite al usuario seleccionar un registro en el control enlazado a datos.

Además, el botón Cancelar que se muestra cuando un registro está en modo de edición o inserción se puede mostrar u ocultar estableciendo la ShowCancelButton propiedad .

Nota

Cuando se usa un control enlazado a datos en combinación con un control de origen de datos (por ejemplo, un SqlDataSource control), el control enlazado a datos puede aprovechar las funcionalidades del control de origen de datos y proporcionar funcionalidad de eliminación, actualización e inserción automáticas. Para otros orígenes de datos, debe proporcionar las rutinas para realizar estas operaciones durante los eventos adecuados para el control enlazado a datos.

El CommandField campo se muestra de forma diferente según el control enlazado a datos en el que se use. Por ejemplo, el GridView control muestra un CommandField campo como una columna, mientras que el DetailsView control lo muestra como una fila.

Para especificar el tipo de botón que se va a mostrar, use la ButtonType propiedad . Cuando la ButtonType propiedad se establece ButtonType.Button en o ButtonType.Link, puede especificar el texto que se va a mostrar para los botones estableciendo las propiedades que se muestran en la tabla siguiente.

Propiedad Descripción
CancelText Título del botón Cancelar.
DeleteText Título del botón Eliminar.
EditText Título del botón Editar.
InsertText Título del botón Insertar. Nota: Esta propiedad solo se aplica a los controles enlazados a datos que admiten operaciones de inserción, como el DetailsView control .
NewText Título del botón Nuevo. Nota: Esta propiedad solo se aplica a los controles enlazados a datos que admiten operaciones de inserción, como el DetailsView control .
SelectText Título del botón Seleccionar.
UpdateText Título del botón Actualizar.

En lugar de mostrar un botón de comando o un botón de vínculo, puede mostrar un botón de imagen estableciendo la ButtonType propiedad ButtonType.Image en y estableciendo las propiedades que se muestran en la tabla siguiente.

Propiedad Descripción
CancelImageUrl Imagen que se va a mostrar para el botón Cancelar
DeleteImageUrl Imagen que se va a mostrar para el botón Eliminar.
EditImageUrl Imagen que se va a mostrar para el botón Editar.
InsertText Imagen que se va a mostrar para el botón Insertar. Nota: Esta propiedad solo se aplica a los controles enlazados a datos que admiten operaciones de inserción, como el DetailsView control .
NewImageUrl Imagen que se va a mostrar para el botón Nuevo. Nota: Esta propiedad solo se aplica a los controles enlazados a datos que admiten operaciones de inserción, como el DetailsView control .
SelectImageUrl Imagen que se va a mostrar para el botón Seleccionar.
UpdateImageUrl Imagen que se va a mostrar para el botón Actualizar.

De forma predeterminada, cuando el usuario hace clic en un botón en un CommandField campo, la validación se realiza en todos los controles de validación de la página. Para evitar que se produzca la validación cuando se hace clic en un botón, establezca la CausesValidation propiedad falseen .

Puede ocultar un CommandField campo en un control enlazado a datos estableciendo la Visible propiedad falseen .

El CommandField campo permite personalizar sus secciones de encabezado y pie de página. Para mostrar un título en el encabezado o la sección pie de página, establezca la HeaderText propiedad o FooterText , respectivamente. En lugar de mostrar texto en la sección de encabezado, puede mostrar una imagen estableciendo la HeaderImageUrl propiedad . Para ocultar la sección de encabezado en un CommandField objeto , establezca la ShowHeader propiedad falseen .

Nota

Algunos controles enlazados a datos (como el GridView control) pueden mostrar u ocultar solo la sección de encabezado completa del control. Estos controles enlazados a datos no admiten la ShowHeader propiedad para un campo de botón individual. Para mostrar u ocultar toda la sección de encabezado de un control enlazado a datos (si está disponible), use la propiedad del ShowHeader control.

También puede personalizar la apariencia del CommandField objeto (color de fuente, color de fondo, etc.) estableciendo las propiedades de estilo para las diferentes partes del campo. En la tabla siguiente se enumeran las diferentes propiedades de estilo.

Style (propiedad) Descripción
ControlStyle La configuración de estilo para los controles secundarios del servidor web del CommandField objeto.
FooterStyle La configuración de estilo de la sección pie de página del CommandField objeto.
HeaderStyle La configuración de estilo de la sección de encabezado del CommandField objeto.
ItemStyle La configuración de estilo de los elementos de datos del CommandField objeto .

Constructores

CommandField()

Inicializa una nueva instancia de la clase CommandField.

Propiedades

AccessibleHeaderText

Obtiene o establece el texto que se representa como el valor de la propiedad AbbreviatedText en algunos controles.

(Heredado de DataControlField)
ButtonType

Obtiene o establece el tipo de botón que se va a mostrar en el campo de botón.

(Heredado de ButtonFieldBase)
CancelImageUrl

Obtiene o establece la dirección URL de una imagen para mostrarla en el botón de cancelación de un campo CommandField.

CancelText

Obtiene o establece el título del botón de cancelación que se muestra en un campo CommandField.

CausesValidation

Obtiene o establece un valor que indica si se realiza la validación cuando el usuario hace clic en un botón de un campo CommandField.

Control

Obtiene una referencia al control de datos al que está asociado el objeto DataControlField.

(Heredado de DataControlField)
ControlStyle

Obtiene el estilo de cualquier control de servidor web contenido en el objeto DataControlField.

(Heredado de DataControlField)
DeleteImageUrl

Obtiene o establece la dirección URL de una imagen para mostrarla en el botón de eliminación de un campo CommandField.

DeleteText

Obtiene o establece el título del botón de eliminación que se muestra en un campo CommandField.

DesignMode

Obtiene un valor que indica si un campo de control de datos está visible actualmente en un entorno en tiempo de diseño.

(Heredado de DataControlField)
EditImageUrl

Obtiene o establece la dirección URL de una imagen para mostrarla en el botón de edición de un campo CommandField.

EditText

Obtiene o establece el título del botón de edición que se muestra en un campo CommandField.

FooterStyle

Obtiene o establece el estilo del pie de página del campo del control de datos.

(Heredado de DataControlField)
FooterText

Obtiene o establece el texto que se muestra en el elemento de pie de página de un campo de control de datos.

(Heredado de DataControlField)
HeaderImageUrl

Obtiene o establece la dirección URL de una imagen que se muestra en el elemento de encabezado de un campo de control de datos.

(Heredado de DataControlField)
HeaderStyle

Obtiene o establece el estilo del encabezado del campo del control de datos.

(Heredado de DataControlField)
HeaderText

Obtiene o establece el texto que se muestra en el elemento de encabezado de un campo de control de datos.

(Heredado de DataControlField)
InsertImageUrl

Obtiene o establece la dirección URL de una imagen para mostrarla en el botón de inserción de un campo CommandField.

InsertText

Obtiene o establece el título del botón de inserción que se muestra en un campo CommandField.

InsertVisible

Obtiene un valor que indica si el objeto DataControlField está visible cuando su control enlazado a datos primario está en modo de inserción.

(Heredado de DataControlField)
IsTrackingViewState

Obtiene un valor que indica si el objeto DataControlField está guardando los cambios en su estado de vista.

(Heredado de DataControlField)
ItemStyle

Obtiene el estilo de cualquier contenido basado en texto mostrado por un campo de control de datos.

(Heredado de DataControlField)
NewImageUrl

Obtiene o establece la dirección URL de una imagen para mostrarla en el botón de nuevo de un campo CommandField.

NewText

Obtiene o establece el título del botón de nuevo que se muestra en un campo CommandField.

SelectImageUrl

Obtiene o establece la dirección URL de una imagen para mostrarla en el botón de selección de un campo CommandField.

SelectText

Obtiene o establece el título del botón de selección que se muestra en un campo CommandField.

ShowCancelButton

Obtiene o establece un valor que indica si en un campo CommandField se muestra un botón de cancelación.

ShowDeleteButton

Obtiene o establece un valor que indica si en un campo CommandField se muestra un botón de eliminación.

ShowEditButton

Obtiene o establece un valor que indica si en un campo CommandField se muestra un botón de edición.

ShowHeader

Obtiene o establece un valor que indica si se muestra la sección de encabezado en un objeto ButtonFieldBase.

(Heredado de ButtonFieldBase)
ShowInsertButton

Obtiene o establece un valor que indica si en un campo CommandField se muestra un botón de nuevo.

ShowSelectButton

Obtiene o establece un valor que indica si en un campo CommandField se muestra un botón de selección.

SortExpression

Obtiene o establece una expresión de ordenación utilizada por un control de origen de datos para ordenar los datos.

(Heredado de DataControlField)
UpdateImageUrl

Obtiene o establece la dirección URL de una imagen para mostrarla en el botón de actualización de un campo CommandField.

UpdateText

Obtiene o establece el título del botón de actualización que se muestra en un campo CommandField.

ValidateRequestMode

Obtiene o establece un valor que especifica si el control valida la entrada de cliente.

(Heredado de DataControlField)
ValidationGroup

Obtiene o establece el nombre del grupo de controles de validación para validar cuando se hace clic en un botón en un objeto ButtonFieldBase.

(Heredado de ButtonFieldBase)
ViewState

Obtiene un diccionario con información de estado que permite guardar y restaurar el estado de vista de un objeto DataControlField en las distintas solicitudes de la misma página.

(Heredado de DataControlField)
Visible

Obtiene o establece un valor que indica si se representa un campo de control de datos.

(Heredado de DataControlField)

Métodos

CloneField()

Crea una copia duplicada del objeto actual derivado de DataControlField.

(Heredado de DataControlField)
CopyProperties(DataControlField)

Copia las propiedades del objeto CommandField actual al objeto DataControlField especificado.

CreateField()

Crea un objeto CommandField vacío.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean)

Extrae el valor del campo de control de datos de la celda de la tabla actual y agrega su valor a la colección IDictionary especificada.

(Heredado de DataControlField)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Initialize(Boolean, Control)

Realiza la inicialización de la instancia básica para un campo de control de datos.

(Heredado de DataControlField)
InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32)

Inicializa el objeto DataControlFieldCell especificado en el estado de fila especificado.

LoadViewState(Object)

Restaura la vista del origen de datos tal y como se guardó previamente.

(Heredado de DataControlField)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnFieldChanged()

Genera el evento FieldChanged.

(Heredado de DataControlField)
SaveViewState()

Guarda los cambios efectuados en el estado de vista de DataControlField desde el momento en que se devolvió la página al servidor.

(Heredado de DataControlField)
ToString()

Devuelve una cadena que representa este objeto DataControlField.

(Heredado de DataControlField)
TrackViewState()

Hace que el objeto DataControlField lleve un seguimiento de los cambios de su estado de vista, de modo que puedan almacenarse en la propiedad ViewState del control y mantenerse en todas las solicitudes de la misma página.

(Heredado de DataControlField)
ValidateSupportsCallback()

Determina si los controles que contiene un objeto CommandField admiten devoluciones de llamada.

Implementaciones de interfaz explícitas

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Obtiene o establece el esquema asociado a este objeto DataControlField.

(Heredado de DataControlField)
IStateManager.IsTrackingViewState

Obtiene un valor que indica si el objeto DataControlField está guardando los cambios en su estado de vista.

(Heredado de DataControlField)
IStateManager.LoadViewState(Object)

Restaura el estado de vista que se guardó previamente del campo de control de datos.

(Heredado de DataControlField)
IStateManager.SaveViewState()

Guarda los cambios efectuados en el estado de vista de DataControlField desde el momento en que se devolvió la página al servidor.

(Heredado de DataControlField)
IStateManager.TrackViewState()

Hace que el objeto DataControlField lleve un seguimiento de los cambios de su estado de vista, de modo que puedan almacenarse en la propiedad ViewState del control y mantenerse en todas las solicitudes de la misma página.

(Heredado de DataControlField)

Se aplica a

Consulte también