Partilhar via


ButtonField Classe

Definição

Representa um campo exibido como um botão em um controle de associação de dados.

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
Herança

Exemplos

O exemplo de código a seguir demonstra como usar um ButtonField objeto para exibir uma coluna de botões de comando em um GridView controle .


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

Comentários

A ButtonField classe é usada por controles associados a dados (como GridView e DetailsView) para exibir um botão para cada registro exibido. O ButtonField objeto é exibido de forma diferente dependendo do controle associado a dados no qual ele é usado. Por exemplo, o GridView controle exibe um ButtonField objeto como uma coluna, enquanto o controle o DetailsView exibe como uma linha.

Clicar em um botão em um campo de botão aciona o evento de comando do controle associado a dados pai. Você pode fornecer uma rotina personalizada a ser executada quando um botão de comando é clicado fornecendo um manipulador de eventos para o evento de comando.

Observação

O GridView controle aciona o RowCommand evento, enquanto o DetailsView controle aciona o ItemCommand evento.

Para determinar o índice do registro que gera o evento de comando, use a CommandArgument propriedade do argumento event que é passada para o evento de comando para o controle associado a dados. A ButtonField classe preenche automaticamente a CommandArgument propriedade com o valor de índice apropriado.

Para especificar o tipo de botão a ser exibido, use a ButtonType propriedade . Ao exibir um link ou botão de comando, use a Text propriedade para especificar a legenda a ser exibida nos botões.

Observação

Se você definir a Text propriedade , todos os botões em um ButtonField compartilhamento da mesma legenda.

Como alternativa, você pode associar o ButtonField objeto a um campo em uma fonte de dados. Isso permite que você exiba legendas diferentes para os botões no ButtonField objeto . Os valores que estão no campo especificado são usados para as legendas de texto dos botões. Defina a DataTextField propriedade para associar um ButtonField objeto a um campo em uma fonte de dados.

Ao exibir um botão de imagem, use a ImageUrl propriedade para especificar a imagem a ser exibida para os botões no ButtonField objeto .

Observação

Todos os botões em um ButtonField objeto compartilham a mesma imagem.

Você pode ocultar um ButtonField objeto em um controle associado a dados definindo a Visible propriedade falsecomo .

O ButtonField objeto permite que você personalize suas seções de cabeçalho e rodapé. Para exibir um legenda na seção de cabeçalho ou rodapé, defina as HeaderText propriedades ou FooterText , respectivamente. Em vez de exibir texto na seção de cabeçalho, você pode exibir uma imagem definindo a HeaderImageUrl propriedade . Para ocultar a seção de cabeçalho em um ButtonField objeto , defina a ShowHeader propriedade como false.

Observação

Alguns controles associados a dados (como o GridView controle) podem mostrar ou ocultar apenas toda a seção de cabeçalho do controle. Esses controles associados a dados não dão suporte à ShowHeader propriedade para um campo de botão individual. Para mostrar ou ocultar toda a seção de cabeçalho de um controle associado a dados (se disponível), use a ShowHeader propriedade para o controle .

Você também pode personalizar a aparência do objeto (cor da ButtonField fonte, cor da tela de fundo e assim por diante) definindo as propriedades de estilo para as diferentes partes do campo. A tabela a seguir lista as diferentes propriedades de estilo.

Propriedade Style As configurações de estilo para
ControlStyle Os controles do servidor Web filho do ButtonField.
FooterStyle A seção de rodapé do ButtonField.
HeaderStyle A seção de cabeçalho do ButtonField.
ItemStyle Os itens de dados no ButtonField.

Construtores

ButtonField()

Inicializa uma nova instância da classe ButtonField.

Propriedades

AccessibleHeaderText

Obtém ou define o texto que é renderizado como o valor da propriedade AbbreviatedText em alguns controles.

(Herdado de DataControlField)
ButtonType

Obtém ou define o tipo de botão a exibir no campo de botão.

(Herdado de ButtonFieldBase)
CausesValidation

Obtém ou define um valor que indica se a validação é realizada quando um botão em um objeto de ButtonFieldBase é clicado.

(Herdado de ButtonFieldBase)
CommandName

Obtém ou define uma cadeia de caracteres que representa a ação a ser executada quando um botão em um objeto ButtonField for clicado.

Control

Obtém uma referência ao controle de dados ao qual o objeto DataControlField está associado.

(Herdado de DataControlField)
ControlStyle

Obtém o estilo de qualquer controle do servidor Web contido pelo objeto DataControlField.

(Herdado de DataControlField)
DataTextField

Obtém ou define o nome do campo de dados do qual o valor é associado à propriedade Text do controle Button renderizado pelo objeto ButtonField.

DataTextFormatString

Obtém ou define a cadeia de caracteres que especifica o formato de exibição do valor do campo.

DesignMode

Obtém um valor que indica se um campo de controle de dados é atualmente exibido em um ambiente de tempo de design.

(Herdado de DataControlField)
FooterStyle

Obtém ou define o estilo do rodapé do campo de controle de dados.

(Herdado de DataControlField)
FooterText

Obtém ou define o texto exibido no item de rodapé de um campo de controle de dados.

(Herdado de DataControlField)
HeaderImageUrl

Obtém ou define a URL de uma imagem exibida no item de cabeçalho de um campo de controle de dados.

(Herdado de DataControlField)
HeaderStyle

Obtém ou define o estilo do cabeçalho do campo de controle de dados.

(Herdado de DataControlField)
HeaderText

Obtém ou define o texto exibido no item de cabeçalho de um campo de controle de dados.

(Herdado de DataControlField)
ImageUrl

Obtém ou define a imagem a ser exibida para cada botão no objeto ButtonField.

InsertVisible

Obtém um valor que indica se o objeto DataControlField fica visível quando o controle associado a dados pai está no modo de inserção.

(Herdado de DataControlField)
IsTrackingViewState

Obtém um valor que indica se o objeto DataControlField está salvando alterações no estado de exibição.

(Herdado de DataControlField)
ItemStyle

Obtém o estilo de qualquer conteúdo baseado em texto exibido por um campo de controle de dados.

(Herdado de DataControlField)
ShowHeader

Obtém ou define um valor que indica se a seção de cabeçalho é exibida em um objeto de ButtonFieldBase.

(Herdado de ButtonFieldBase)
SortExpression

Obtém ou define uma expressão de classificação que é usada por um controle de fonte de dados para classificar os dados.

(Herdado de DataControlField)
Text

Obtém ou define a legenda estática exibida para cada botão no objeto ButtonField.

ValidateRequestMode

Obtém ou define um valor que especifica se o controle valida a entrada do cliente.

(Herdado de DataControlField)
ValidationGroup

Obtém ou define o nome do grupo de controles de validação a ser validado quando se clica em um botão em um objeto ButtonFieldBase.

(Herdado de ButtonFieldBase)
ViewState

Obtém um dicionário de informações de estado que permite salvar e restaurar o estado de exibição de um objeto DataControlField em várias solicitações da mesma página.

(Herdado de DataControlField)
Visible

Obtém ou define um valor que indica se um campo de controle de dados é renderizado.

(Herdado de DataControlField)

Métodos

CloneField()

Cria uma cópia duplicada do objeto atual derivado de DataControlField.

(Herdado de DataControlField)
CopyProperties(DataControlField)

Copia as propriedades do objeto ButtonField atual para o objeto DataControlField especificado.

CreateField()

Cria e retorna uma nova instância da classe ButtonField.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

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

Extrai o valor do campo de controle de dados da célula da tabela atual e adiciona o valor à coleção IDictionary especificada.

(Herdado de DataControlField)
FormatDataTextValue(Object)

Formata o valor do campo especificado para uma célula no objeto de ButtonField.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Initialize(Boolean, Control)

Inicializa o objeto ButtonField atual.

InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32)

Inicializa o objeto DataControlFieldCell especificado no estado de linha especificado.

LoadViewState(Object)

Restaura o estado de exibição salvo anteriormente da exibição de fonte de dados.

(Herdado de DataControlField)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnFieldChanged()

Aciona o evento FieldChanged.

(Herdado de DataControlField)
SaveViewState()

Salva as alterações feitas no estado de exibição DataControlField desde a hora em que a página foi postada de volta no servidor.

(Herdado de DataControlField)
ToString()

Retorna uma cadeia de caracteres que representa este objeto DataControlField.

(Herdado de DataControlField)
TrackViewState()

Faz com que o objeto DataControlField controle as alterações em seu estado de exibição, de modo que elas possam ser armazenadas na propriedade ViewState do controle e persistidas entre solicitações para a mesma página.

(Herdado de DataControlField)
ValidateSupportsCallback()

Determina se os controles contidos em um objeto de ButtonField dão suporte a retornos de chamada.

Implantações explícitas de interface

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Obtém ou define o esquema associado a este objeto DataControlField.

(Herdado de DataControlField)
IStateManager.IsTrackingViewState

Obtém um valor que indica se o objeto DataControlField está salvando alterações no estado de exibição.

(Herdado de DataControlField)
IStateManager.LoadViewState(Object)

Restaura o estado de exibição salvo anteriormente do campo de controle de dados.

(Herdado de DataControlField)
IStateManager.SaveViewState()

Salva as alterações feitas no estado de exibição DataControlField desde a hora em que a página foi postada de volta no servidor.

(Herdado de DataControlField)
IStateManager.TrackViewState()

Faz com que o objeto DataControlField controle as alterações em seu estado de exibição, de modo que elas possam ser armazenadas na propriedade ViewState do controle e persistidas entre solicitações para a mesma página.

(Herdado de DataControlField)

Aplica-se a

Confira também