ButtonField Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa um campo que é exibido como um botão num controlo ligado a 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 seguinte demonstra como usar um ButtonField objeto para mostrar uma coluna de botões de comando num GridView controlo.
<%@ 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>
Observações
A ButtonField classe é usada por controlos encadenados por dados (como GridView e DetailsView) para mostrar um botão para cada registo que é exibido. O ButtonField objeto é apresentado de forma diferente consoante o controlo limitado por dados em que é utilizado. Por exemplo, o controlo GridView apresenta um ButtonField objeto como uma coluna, enquanto o DetailsView controlo o apresenta como uma linha.
Ao clicar num botão num campo de botões, surge o evento de comando do controlo data-bound do pai. Pode fornecer uma rotina personalizada para executar quando um botão de comando é clicado, fornecendo um gestor de eventos para o evento de comando.
Note
O GridView controlo eleva o RowCommand evento, enquanto o DetailsView controlo eleva o ItemCommand evento.
Para determinar o índice do registo que gera o evento de comando, use a CommandArgument propriedade do argumento do evento que é passada ao evento de comando para o controlo ligado aos dados. A ButtonField classe preenche automaticamente a CommandArgument propriedade com o valor de índice apropriado.
Para especificar o tipo de botão a mostrar, use a ButtonType propriedade. Ao mostrar um botão de link ou comando, use a Text propriedade para especificar a legenda a mostrar nos botões.
Note
Se definires a Text propriedade, todos os botões partilham ButtonField a mesma legenda.
Em alternativa, pode vincular o ButtonField objeto a um campo numa fonte de dados. Isto permite mostrar diferentes legendas para os botões do 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 numa fonte de dados.
Ao mostrar um botão de imagem, use a ImageUrl propriedade para especificar a imagem a mostrar para os botões do ButtonField objeto.
Note
Todos os botões de um ButtonField objeto partilham a mesma imagem.
Pode esconder um ButtonField objeto num controlo data-bound definindo a Visible propriedade para false.
O ButtonField objeto permite-lhe personalizar as suas secções de cabeçalho e rodapé. Para mostrar uma legenda na secção do cabeçalho ou rodapé, defina as HeaderText propriedades ou FooterText , respetivamente. Em vez de mostrar texto na secção do cabeçalho, pode mostrar uma imagem definindo a HeaderImageUrl propriedade. Para ocultar a secção do cabeçalho num ButtonField objeto, defina a ShowHeader propriedade para false.
Note
Alguns controlos ligados a dados (como o controlo GridView ) podem mostrar ou ocultar apenas toda a secção do cabeçalho do controlo. Estes controlos vinculados a dados não suportam a ShowHeader propriedade de um campo de botão individual. Para mostrar ou ocultar toda a secção do cabeçalho de um controlo ligado a dados (se disponível), use a ShowHeader propriedade do controlo.
Também pode personalizar a aparência do ButtonField objeto (cor da fonte, cor de fundo, etc.) definindo as propriedades de estilo para as diferentes partes do campo. A tabela seguinte lista as diferentes propriedades de estilo.
| Propriedade de estilo | As definições de estilo para |
|---|---|
| ControlStyle | O servidor Web filho controla o ButtonField. |
| FooterStyle | A secção de rodapé do ButtonField. |
| HeaderStyle | A secção do cabeçalho do ButtonField. |
| ItemStyle | Os itens de dados no ButtonFieldarquivo . |
Construtores
| Name | Description |
|---|---|
| ButtonField() |
Inicializa uma nova instância da ButtonField classe. |
Propriedades
| Name | Description |
|---|---|
| AccessibleHeaderText |
Recebe ou define texto que é renderizado como valor de |
| ButtonType |
Obtém ou define o tipo de botão para mostrar no campo de botões. (Herdado de ButtonFieldBase) |
| CausesValidation |
Recebe ou define um valor que indica se a validação é realizada quando um botão num ButtonFieldBase objeto é clicado. (Herdado de ButtonFieldBase) |
| CommandName |
Recebe ou define uma cadeia que representa a ação a realizar quando um botão num ButtonField objeto é clicado. |
| Control |
Obtém uma referência ao controlo de dados ao qual o DataControlField objeto está associado. (Herdado de DataControlField) |
| ControlStyle |
Obtém o estilo de quaisquer controlos de servidor Web contidos pelo DataControlField objeto. (Herdado de DataControlField) |
| DataTextField |
Recebe ou define o nome do campo de dados para o qual o valor está ligado à Text propriedade do Button controlo que é renderizado pelo ButtonField objeto. |
| DataTextFormatString |
Obtém ou define a cadeia que especifica o formato de exibição para o valor do campo. |
| DesignMode |
Obtém um valor que indica se um campo de controlo de dados está atualmente visualizado num ambiente em tempo de design. (Herdado de DataControlField) |
| FooterStyle |
Obtém ou define o estilo do rodapé do campo de controlo de dados. (Herdado de DataControlField) |
| FooterText |
Recebe ou define o texto que é exibido no elemento de rodapé de um campo de controlo de dados. (Herdado de DataControlField) |
| HeaderImageUrl |
Obtém ou define a URL de uma imagem que é exibida no elemento do cabeçalho de um campo de controlo de dados. (Herdado de DataControlField) |
| HeaderStyle |
Obtém ou define o estilo do cabeçalho do campo de controlo de dados. (Herdado de DataControlField) |
| HeaderText |
Obtém ou define o texto que é exibido no elemento do cabeçalho de um campo de controlo de dados. (Herdado de DataControlField) |
| ImageUrl |
Obtém ou define a imagem para mostrar em cada botão do ButtonField objeto. |
| InsertVisible |
Recebe um valor que indica se o DataControlField objeto é visível quando o controlo de dados do pai está em modo de inserção. (Herdado de DataControlField) |
| IsTrackingViewState |
Recebe um valor que indica se o DataControlField objeto está a guardar alterações ao seu estado de visualização. (Herdado de DataControlField) |
| ItemStyle |
Obtém o estilo de qualquer conteúdo baseado em texto apresentado por um campo de controlo de dados. (Herdado de DataControlField) |
| ShowHeader |
Recebe ou define um valor que indica se a secção do cabeçalho é exibida num ButtonFieldBase objeto. (Herdado de ButtonFieldBase) |
| SortExpression |
Obtém ou define uma expressão de ordenação que é usada por um controlo de fonte de dados para ordenar dados. (Herdado de DataControlField) |
| Text |
Recebe ou define a legenda estática que é mostrada para cada botão do ButtonField objeto. |
| ValidateRequestMode |
Recebe ou define um valor que especifica se o controlo valida a entrada do cliente. (Herdado de DataControlField) |
| ValidationGroup |
Obtém ou define o nome do grupo de controlos de validação para validar quando um botão num ButtonFieldBase objeto é clicado. (Herdado de ButtonFieldBase) |
| ViewState |
Obtém um dicionário de informação de estado que permite guardar e restaurar o estado de visualização de um DataControlField objeto através de múltiplos pedidos para a mesma página. (Herdado de DataControlField) |
| Visible |
Recebe ou define um valor que indica se um campo de controlo de dados é renderizado. (Herdado de DataControlField) |
Métodos
| Name | Description |
|---|---|
| CloneField() |
Cria uma cópia duplicada do objeto derivado atualmente DataControlField. (Herdado de DataControlField) |
| CopyProperties(DataControlField) |
Copia as propriedades do objeto atual ButtonField para o objeto especificado DataControlField . |
| CreateField() |
Cria e devolve uma nova instância da ButtonField classe. |
| 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 controlo de dados da célula atual da tabela e adiciona o valor à coleção especificada IDictionary . (Herdado de DataControlField) |
| FormatDataTextValue(Object) |
Formata o valor do campo especificado para uma célula no ButtonField objeto. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| Initialize(Boolean, Control) |
Inicializa o objeto atual ButtonField . |
| InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32) |
Inicializa o objeto especificado DataControlFieldCell para o estado da linha especificado. |
| LoadViewState(Object) |
Restaura o estado da vista de fonte de dados anteriormente guardada. (Herdado de DataControlField) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| OnFieldChanged() |
Eleva o |
| SaveViewState() |
Guarda as alterações feitas ao DataControlField estado de visualização desde o momento em que a página foi publicada de volta no servidor. (Herdado de DataControlField) |
| ToString() |
Devolve uma cadeia que representa este DataControlField objeto. (Herdado de DataControlField) |
| TrackViewState() |
Faz com que o DataControlField objeto acompanhe alterações ao estado da visualização para que possam ser armazenadas na propriedade do ViewState controlo e persistirem entre pedidos para a mesma página. (Herdado de DataControlField) |
| ValidateSupportsCallback() |
Determina se os controlos contidos num ButtonField objeto suportam callbacks. |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| IDataSourceViewSchemaAccessor.DataSourceViewSchema |
Obtém ou define o esquema associado a este DataControlField objeto. (Herdado de DataControlField) |
| IStateManager.IsTrackingViewState |
Recebe um valor que indica se o DataControlField objeto está a guardar alterações ao seu estado de visualização. (Herdado de DataControlField) |
| IStateManager.LoadViewState(Object) |
Restaura o estado de visualização previamente guardado do campo de controlo de dados. (Herdado de DataControlField) |
| IStateManager.SaveViewState() |
Guarda as alterações feitas ao DataControlField estado de visualização desde o momento em que a página foi publicada de volta no servidor. (Herdado de DataControlField) |
| IStateManager.TrackViewState() |
Faz com que o DataControlField objeto acompanhe alterações ao estado da visualização para que possam ser armazenadas na propriedade do ViewState controlo e persistirem entre pedidos para a mesma página. (Herdado de DataControlField) |