ButtonField Конструктор
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса ButtonField.
public:
ButtonField();
public ButtonField ();
Public Sub New ()
Примеры
В следующем примере кода показано, как использовать конструктор M:System.Web.UI.WebControls.ButtonField.#ctor для динамического ButtonField добавления объекта в GridView элемент управления .
<%@ 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>
Комментарии
ButtonField Используйте конструктор для инициализации нового экземпляра ButtonField класса . Этот конструктор обычно используется при добавлении полей в динамически создаваемый элемент управления с привязкой к данным.
Чтобы динамически добавлять ButtonField объект в элемент управления с привязкой к данным, создайте новый ButtonField объект, задайте его свойства, а затем добавьте его в коллекцию полей для элемента управления с привязкой к данным. Например, если вы используете GridView элемент управления , добавьте ButtonField объект в коллекцию Columns .
Примечание
Хотя вы можете динамически добавлять поля в элемент управления с привязкой к данным, поля должны быть объявлены статически, а затем отображаться или скрываться соответствующим образом. Статическое объявление всех полей уменьшает размер состояния представления для родительского элемента управления с привязкой к данным.