GridViewCommandEventArgs クラス

定義

RowCommand イベントのデータを提供します。Provides data for the RowCommand event.

public ref class GridViewCommandEventArgs : System::Web::UI::WebControls::CommandEventArgs
public class GridViewCommandEventArgs : System.Web.UI.WebControls.CommandEventArgs
type GridViewCommandEventArgs = class
    inherit CommandEventArgs
Public Class GridViewCommandEventArgs
Inherits CommandEventArgs
継承
GridViewCommandEventArgs

次の例では、イベント処理メソッドに渡されたオブジェクトを使用して、 GridViewCommandEventArgs イベントを発生させたボタンのコマンド名を確認する方法を示します。The following example demonstrates how to use the GridViewCommandEventArgs object passed to the event-handling method to determine the command name of the button that raised the event.


<%@ 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 ContactsGridView_RowCommand(Object sender, GridViewCommandEventArgs e)
  {
    // If multiple buttons are used in a GridView control, use the
    // CommandName property to determine which button was clicked.
    if(e.CommandName=="Add")
    {
      // Convert the row index stored in the CommandArgument
      // property to an Integer.
      int index = Convert.ToInt32(e.CommandArgument);

      // Retrieve the row that contains the button clicked 
      // by the user from the Rows collection.
      GridViewRow row = ContactsGridView.Rows[index];

      // Create a new ListItem object for the contact in the row.     
      ListItem item = new ListItem();
      item.Text = Server.HtmlDecode(row.Cells[2].Text) + " " +
        Server.HtmlDecode(row.Cells[3].Text);

      // If the contact is not already in the ListBox, add the ListItem 
      // object to the Items collection of the ListBox control. 
      if (!ContactsListBox.Items.Contains(item))
      {
        ContactsListBox.Items.Add(item);
      }
    }
  }    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView RowCommand Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>GridView RowCommand Example</h3>

      <table width="100%">
        <tr>
          <td style="width:50%">

            <asp:gridview id="ContactsGridView" 
              datasourceid="ContactsSource"
              allowpaging="true" 
              autogeneratecolumns="false"
              onrowcommand="ContactsGridView_RowCommand"
              runat="server">

              <columns>
                <asp:buttonfield buttontype="Link" 
                  commandname="Add" 
                  text="Add"/>
                <asp:boundfield datafield="ContactID" 
                  headertext="Contact ID"/>
                <asp:boundfield datafield="FirstName" 
                  headertext="First Name"/> 
                <asp:boundfield datafield="LastName" 
                  headertext="Last Name"/>
              </columns>

            </asp:gridview>

          </td>

          <td style="vertical-align:top; width:50%">

            Contacts: <br/>
            <asp:listbox id="ContactsListBox"
              runat="server" Height="200px" Width="200px"/>

          </td>
        </tr>
      </table>

      <!-- This example uses Microsoft SQL Server and connects    -->
      <!-- to the AdventureWorks sample database. Use an ASP.NET  -->
      <!-- expression to retrieve the connection string value     -->
      <!-- from the Web.config file.                              -->
      <asp:sqldatasource id="ContactsSource"
        selectcommand="Select [ContactID], [FirstName], [LastName] From Person.Contact"
        connectionstring="<%$ ConnectionStrings:AdventureWorks_DataConnectionString%>" 
        runat="server"/>

    </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 ContactsGridView_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)

    ' If multiple buttons are used in a GridView control, use the
    ' CommandName property to determine which button was clicked.
    If e.CommandName = "Add" Then
    
      ' Convert the row index stored in the CommandArgument
      ' property to an Integer.
      Dim index As Integer = Convert.ToInt32(e.CommandArgument)
            
      ' Retrieve the row that contains the button clicked 
      ' by the user from the Rows collection.
      Dim row As GridViewRow = ContactsGridView.Rows(index)
            
      ' Create a new ListItem object for the contact in the row.     
      Dim item As New ListItem()
      item.Text = Server.HtmlDecode(row.Cells(2).Text) & " " & _
        Server.HtmlDecode(row.Cells(3).Text)
            
      ' If the contact is not already in the ListBox, add the ListItem 
      ' object to the Items collection of the ListBox control. 
      If Not ContactsListBox.Items.Contains(item) Then
      
        ContactsListBox.Items.Add(item)
        
      End If
      
    End If
    
  End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head id="Head1" runat="server">
    <title>GridView RowCommand Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <h3>GridView RowCommand Example</h3>

      <table width="100%">
        <tr>
          <td style="width:50%">

            <asp:gridview id="ContactsGridView" 
              datasourceid="ContactsSource"
              allowpaging="true" 
              autogeneratecolumns="false"
              onrowcommand="ContactsGridView_RowCommand"
              runat="server">

              <columns>
                <asp:buttonfield buttontype="Link" 
                  commandname="Add" 
                  text="Add"/>
                <asp:boundfield datafield="ContactID" 
                  headertext="Contact ID"/>
                <asp:boundfield datafield="FirstName" 
                  headertext="First Name"/> 
                <asp:boundfield datafield="LastName" 
                  headertext="Last Name"/>
              </columns>

            </asp:gridview>

          </td>

          <td style="vertical-align:top; width:50%">

            Contacts: <br/>
            <asp:listbox id="ContactsListBox"
              runat="server" Height="200px" Width="200px"/>

          </td>
        </tr>
      </table>

      <!-- This example uses Microsoft SQL Server and connects    -->
      <!-- to the AdventureWorks sample database. Use an ASP.NET  -->
      <!-- expression to retrieve the connection string value     -->
      <!-- from the Web.config file.                              -->
      <asp:sqldatasource id="ContactsSource"
        selectcommand="Select [ContactID], [FirstName], [LastName] From Person.Contact"
        connectionstring="<%$ ConnectionStrings:AdventureWorks_DataConnectionString%>" 
        runat="server"/>

    </form>
  </body>
</html>

注釈

イベントは、 RowCommand コントロール内のボタンがクリックされると発生し GridView ます。The RowCommand event is raised when a button within the GridView control is clicked. これにより、このイベントが発生するたびにカスタムルーチンを実行するイベント処理メソッドを提供できます。This allows you to provide an event-handling method that performs a custom routine whenever this event occurs.

注意

また、コントロールは、 GridView 特定のボタンがクリックされたときに、その他の特殊なイベントを発生させます (ボタンが CommandName "削除"、"更新"、および "ページ" に設定されているボタンなど)。The GridView control also raises other specialized events when certain buttons are clicked (buttons with the CommandName property set to "Delete", "Update", and "Page" for example). これらのボタンのいずれかを使用する場合は、コントロールによって提供される特殊なイベント (やなど) の1つを処理することを検討してください RowDeleted RowDeletingWhen using one of these buttons, you should consider handling one of the specialized events provided by the control (such as RowDeleted or RowDeleting).

GridViewCommandEventArgsオブジェクトがイベント処理メソッドに渡されます。これにより、クリックされたボタンのコマンド名とコマンド引数を確認できます。A GridViewCommandEventArgs object is passed to the event-handling method, which allows you to determine the command name and command argument of the button clicked. コマンド名とコマンド引数を決定するには、 CommandName CommandArgument それぞれプロパティとプロパティを使用します。To determine the command name and command argument, use the CommandName and CommandArgument properties, respectively. また、プロパティを使用して、イベントを発生させたボタンコントロールにアクセスすることもでき CommandSource ます。You can also access the button control that raised the event by using the CommandSource property.

イベントを処理する方法の詳細については、次を参照してください。処理とイベントの発生します。For more information about how to handle events, see Handling and Raising Events.

のインスタンスの初期プロパティ値の一覧につい GridViewCommandEventArgs ては、コンストラクターを参照してください GridViewCommandEventArgsFor a list of initial property values for an instance of GridViewCommandEventArgs, see the GridViewCommandEventArgs constructor.

コンストラクター

GridViewCommandEventArgs(GridViewRow, Object, CommandEventArgs)

行、コマンドのソース、およびイベントの引数を指定して、GridViewCommandEventArgs クラスの新しいインスタンスを初期化します。Initializes a new instance of the GridViewCommandEventArgs class using the specified row, source of the command, and event arguments.

GridViewCommandEventArgs(Object, CommandEventArgs)

コマンドのソースとイベントの引数を指定して、GridViewCommandEventArgs クラスの新しいインスタンスを初期化します。Initializes a new instance of the GridViewCommandEventArgs class using the specified source of the command and event arguments.

プロパティ

CommandArgument

コマンドの引数を取得します。Gets the argument for the command.

(継承元 CommandEventArgs)
CommandName

コマンドの名前を取得します。Gets the name of the command.

(継承元 CommandEventArgs)
CommandSource

コマンドのソースを取得します。Gets the source of the command.

Handled

コントロールがイベントを処理したかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the control has handled the event.

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象

こちらもご覧ください