ButtonType 列挙体
アセンブリ: System.Web (system.web.dll 内)

Public Enumeration ButtonType


ButtonType 列挙体は、ASP.NET ページに表示できるさまざまな種類のボタン (コマンド ボタン、イメージ ボタン、リンク ボタンなど) を表します。一般にこの列挙体は、親コントロールによって使用されるボタンの種類を指定するプロパティ (ButtonFieldBase クラスの ButtonType プロパティなど) で使用されます。

ButtonType 列挙体を使用して、GridView コントロールの ButtonField フィールド列にリンク ボタンを表示するように指定する方法を次の例に示します。ButtonField オブジェクトの ButtonType プロパティが、宣言によって ButtonType.Link に設定されます。
<%@ Page language="VB" %> <script runat="server"> Sub AuthorsGridView_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 = AuthorsGridView.Rows(index) Dim lastNameCell As TableCell = selectedRow.Cells(1) Dim lastName As String = lastNameCell.Text ' Display the selected author. Message.Text = "You selected " & lastName & "." End If End Sub Sub AuthorsGridView_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs) ' The GridViewCommandEventArgs class does not contain a ' property that indicates which row's command button was ' clicked. To identify which row contains the button ' clicked, use the button's CommandArgument property by ' setting it to the row's index. If e.Row.RowType = DataControlRowType.DataRow Then ' Retrieve the button control from the first column. ' Because the ButtonType property of the column field ' is set to ButtonType.Link, the button control must be ' cast to a LinkButton. If you specify a different button ' type, you must cast the button control to the appropriate ' button type. Dim selectButton As LinkButton = CType(e.Row.Cells(0).Controls(0), LinkButton) ' Set the LinkButton's CommandArgument property with the ' row's index. selectButton.CommandArgument = e.Row.RowIndex.ToString() End If End Sub </script> <html> <body> <form runat="server"> <h3>ButtonType Example</h3> <asp:label id="Message" forecolor="Red" runat="server"/> <!-- Populate the Columns collection declaratively. --> <asp:gridview id="AuthorsGridView" datasourceid="AuthorsSqlDataSource" autogeneratecolumns="false" onrowcommand="AuthorsGridView_RowCommand" runat="server"> <columns> <asp:buttonfield buttontype="Link" commandname="Select" text="Select"/> <asp:boundfield datafield="au_lname" headertext="au_lname"/> <asp:boundfield datafield="au_fname" headertext="au_fname"/> </columns> </asp:gridview> <!-- This example uses Microsoft SQL Server and connects --> <!-- to the Pubs sample database. --> <asp:sqldatasource id="AuthorsSqlDataSource" selectcommand="SELECT [au_lname], [au_fname] FROM [authors]" connectionstring="server=localhost;database=pubs;integrated security=SSPI" runat="server"> </asp:sqldatasource> </form> </body> </html>
<%@ Page language="C#" %> <script runat="server"> void AuthorsGridView_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 = AuthorsGridView.Rows[index]; TableCell lastNameCell = selectedRow.Cells[1]; string lastName = lastNameCell.Text; // Display the selected author. Message.Text = "You selected " + lastName + "."; } } void AuthorsGridView_RowCreated(Object sender, GridViewRowEventArgs e) { // The GridViewCommandEventArgs class does not contain a // property that indicates which row's command button was // clicked. To identify which row contains the button // clicked, use the button's CommandArgument property by // setting it to the row's index. if(e.Row.RowType == DataControlRowType.DataRow) { // Retrieve the button control from the first column. // Because the ButtonType property of the column field // is set to ButtonType.Link, the button control must be // cast to a LinkButton. If you specify a different button // type, you must cast the button control to the appropriate // button type. LinkButton selectButton = (LinkButton)e.Row.Cells[0].Controls[0]; // Set the LinkButton's CommandArgument property with the // row's index. selectButton.CommandArgument = e.Row.RowIndex.ToString(); } } </script> <html> <body> <form runat="server"> <h3>ButtonType Example</h3> <asp:label id="Message" forecolor="Red" runat="server"/> <!-- Populate the Fields collection declaratively. --> <asp:gridview id="AuthorsGridView" datasourceid="AuthorsSqlDataSource" autogeneratecolumns="false" onrowcommand="AuthorsGridView_RowCommand" runat="server"> <columns> <asp:buttonfield buttontype="Link" commandname="Select" text="Select"/> <asp:boundfield datafield="au_lname" headertext="au_lname"/> <asp:boundfield datafield="au_fname" headertext="au_fname"/> </columns> </asp:gridview> <!-- This example uses Microsoft SQL Server and connects --> <!-- to the Pubs sample database. --> <asp:sqldatasource id="AuthorsSqlDataSource" selectcommand="SELECT [au_lname], [au_fname] FROM [authors]" connectionstring="server=localhost;database=pubs;integrated security=SSPI" runat="server"> </asp:sqldatasource> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- ButtonType 列挙体のページへのリンク