ButtonField Constructor
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inicializa una nueva instancia de la clase ButtonField.
public:
ButtonField();
public ButtonField ();
Public Sub New ()
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar el constructor M:System.Web.UI.WebControls.ButtonField.#ctor para agregar un ButtonField objeto dinámicamente a 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">
<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 Customer from the appropriate
// cell in the GridView control.
GridViewRow selectedRow = CustomersGridView.Rows[index];
TableCell contactCell = selectedRow.Cells[1];
string contact = contactCell.Text;
// Display the selected Customer.
Message.Text = "You selected " + contact + ".";
}
}
void Page_Load(Object sender, EventArgs e)
{
// The field columns need to be created only the first time
// the page is loaded.
if (!IsPostBack)
{
// Dynamically create field columns to display the desired
// fields from the data source.
// Create a ButtonField object to allow the user to
// select an Customer.
ButtonField selectButtonField = new ButtonField ();
selectButtonField.ButtonType = ButtonType.Button;
selectButtonField.CommandName = "Select";
selectButtonField.HeaderText = "Select Customer";
selectButtonField.Text = "Select";
// Create a BoundField object to display an Customer's last name.
BoundField contactNameBoundField = new BoundField();
contactNameBoundField.DataField = "ContactName";
contactNameBoundField.HeaderText = "Contact Name";
// Create a BoundField object to display an Customer's first name.
BoundField contactTitleBoundField = new BoundField();
contactTitleBoundField.DataField = "ContactTitle";
contactTitleBoundField.HeaderText = "Contact Title";
// Add the field columns to the Columns collection of the
// GridView control.
CustomersGridView.Columns.Add (selectButtonField);
CustomersGridView.Columns.Add(contactNameBoundField);
CustomersGridView.Columns.Add(contactTitleBoundField);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ButtonField Constructor Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ButtonField Constructor Example</h3>
<asp:label id="Message"
forecolor="Red"
runat="server"
AssociatedControlID="CustomersGridView"/>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="False"
onrowcommand="CustomersGridView_RowCommand"
runat="server">
</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 Customer from the appropriate
' cell in the GridView control.
Dim selectedRow As GridViewRow = CustomersGridView.Rows(index)
Dim contactNameCell As TableCell = selectedRow.Cells(1)
Dim contactName As String = contactNameCell.Text
' Display the selected Customer.
Message.Text = "You selected " & contactName & "."
End If
End Sub
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' The field columns need to be created only the first time
' the page is loaded.
If Not IsPostBack Then
' Dynamically create field columns to display the desired
' fields from the data source.
' Create a ButtonField object to allow the user to
' select an Customer.
Dim selectButtonField As New ButtonField
selectButtonField.ButtonType = ButtonType.Button
selectButtonField.CommandName = "Select"
selectButtonField.HeaderText = "Select Customer"
selectButtonField.Text = "Select"
' Create a BoundField object to display an Customer's last name.
Dim contactNameBoundField As New BoundField
contactNameBoundField.DataField = "ContactName"
contactNameBoundField.HeaderText = "Contact Name"
' Create a BoundField object to display an Customer's first name.
Dim contactTitleBoundField As New BoundField
contactTitleBoundField.DataField = "ContactTitle"
contactTitleBoundField.HeaderText = "Contact Title"
' Add the field columns to the Columns collection of the
' GridView control.
CustomersGridView.Columns.Add(selectButtonField)
CustomersGridView.Columns.Add(contactNameBoundField)
CustomersGridView.Columns.Add(contactTitleBoundField)
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ButtonField Constructor Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ButtonField Constructor Example</h3>
<asp:label id="Message"
forecolor="Red"
runat="server"
AssociatedControlID="CustomersGridView"/>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSqlDataSource"
autogeneratecolumns="False"
onrowcommand="CustomersGridView_RowCommand"
runat="server">
</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>
Comentarios
Use el ButtonField constructor para inicializar una nueva instancia de la ButtonField clase . Este constructor se usa normalmente al agregar campos a un control enlazado a datos creado dinámicamente.
Para agregar un ButtonField objeto dinámicamente a un control enlazado a datos, cree un nuevo ButtonField objeto, establezca sus propiedades y, a continuación, agréguelo a la colección de campos para el control enlazado a datos. Por ejemplo, si usa el GridView control , agregue el ButtonField objeto a la Columns colección .
Nota
Aunque puede agregar campos dinámicamente a un control enlazado a datos, los campos deben declararse estáticamente y, a continuación, mostrarse u ocultarlos, según corresponda. La declaración estática de todos los campos reduce el tamaño del estado de vista del control enlazado a datos primario.