다음을 통해 공유


DataGridCommandEventArgs.CommandSource 속성

정의

명령 소스를 가져옵니다.

public:
 property System::Object ^ CommandSource { System::Object ^ get(); };
public object CommandSource { get; }
member this.CommandSource : obj
Public ReadOnly Property CommandSource As Object

속성 값

Object

명령의 소스입니다.

예제

다음 코드 예제에서는 명령을 사용 하 여 원인을 파악 하는 방법에 설명 합니다 CommandSource 속성입니다.


<%@ page language="C#" %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.SqlClient" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void Page_Load(Object sender, EventArgs e)
  {
    // Call the BindGrid helper method to bind the
    // DataGrid control to the data source the first
    // time the page is loaded.
    if(!IsPostBack)
    {
      BindGrid();
    }
  }
  
  void BindGrid()
  {
    // Declare the connection string and query string.
    // This example uses Microsoft SQL Server and connects
    // to the Northwind sample database.
    String connectionString = "server=localhost;database=NorthWind;Integrated Security=SSPI";
    String queryString = "Select [FirstName],[LastName],[Title] From [Employees]";
    
    // Run the query and display the results.
    DataSet ds = RunQuery(connectionString, queryString);
    if(ds != null)
    {
      ItemsGrid.DataSource = ds;
      ItemsGrid.DataBind();
      Message.Text = "";
    }
    else
    {
      Message.Text = "No records found.";
    }
  }

  DataSet RunQuery(String connectionString, String queryString)
  {
    SqlConnection connection = new SqlConnection(connectionString);
    SqlDataAdapter adapter;
    DataSet ds;

    try
    {
      // Run the query and create the DataSet object.
      ds = new DataSet();
      adapter = new SqlDataAdapter(queryString, connection);
      adapter.Fill(ds);
    }
    catch(Exception ex)
    {
      // Display an error message.
      Message.Text = "Unable to query data source.";
      ds = null;
    }
    finally
    {
      connection.Close();
    }

    return ds;
  }

  void ItemsGrid_ItemCommand(Object sender, DataGridCommandEventArgs e)
  {
    // Use the CommandSource property to retrieve the LinkButton
    // control that raised the event.
    LinkButton selectButton = (LinkButton)e.CommandSource;

    // Display the desciption for the job title.
    Message.Text = selectButton.Text + " - ";

    switch (selectButton.Text)
    {
      case "Sales Representative":
        Message.Text += "Sells products to customers.";
        break;
      case "Vice President, Sales":
        Message.Text += "Manages the sales division.";
        break;
      case "Sales Manager":
        Message.Text += "Manages a sales team.";
        break;
      case "Inside Sales Coordinator":
        Message.Text += "Coordinates cross team communications.";
        break;
      default:
        Message.Text += "To be determined.";
        break;
    }
  }
  
</script>

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

      <h3>DataGridCommandEventArgs CommandSource Example</h3>

      <asp:datagrid
        id="ItemsGrid"
        autogeneratecolumns="false"
        onitemcommand="ItemsGrid_ItemCommand"  
        runat="server">

          <columns>
          
            <asp:BoundColumn DataField="FirstName"
              headertext="First Name"/>
            <asp:BoundColumn DataField="LastName"
              headertext="Last Name"/>
            <asp:buttoncolumn buttontype="LinkButton"
              datatextfield="Title"
              headertext="Title"/> 
          
          </columns>
        
      </asp:datagrid>
      
      <br/><br/>
      
      <asp:label id="Message" 
        runat="server"/>

    </form>
  </body>
</html>
<%@ page language="VB" %>
<%@ import namespace="System.Data" %>
<%@ import namespace="System.Data.SqlClient" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
  
    ' Call the BindGrid helper method to bind the
    ' DataGrid control to the data source the first
    ' time the page is loaded.
    If Not IsPostBack Then
    
      BindGrid()
    
    End If
    
  End Sub
  
  Sub BindGrid()
  
    ' Declare the connection string and query string.
    ' This example uses Microsoft SQL Server and connects
    ' to the Northwind sample database.
    Dim connectionString As String = "server=localhost;database=NorthWind;Integrated Security=SSPI"
    Dim queryString As String = "Select [FirstName],[LastName],[Title] From [Employees]"
    
    ' Run the query and display the results.
    Dim ds As DataSet = RunQuery(connectionString, queryString)
    If ds IsNot Nothing Then
 
      ItemsGrid.DataSource = ds
      ItemsGrid.DataBind()
      Message.Text = ""
    
    Else
    
      Message.Text = "No records found."
    
    End If
      
  End Sub

  Function RunQuery(ByVal connectionString As String, ByVal queryString As String) As DataSet
  
    Dim connection As New SqlConnection(connectionString)
    Dim adapter As SqlDataAdapter
    Dim ds As DataSet
    
    Try

      ' Run the query and create the DataSet object.
      ds = New DataSet()
      adapter = New SqlDataAdapter(queryString, connection)
      adapter.Fill(ds)
    
    Catch ex As Exception
   
      ' Display an error message.
      Message.Text = "Unable to query data source."
      ds = Nothing
    
    Finally
    
      Connection.Close()
    
    End Try
    
    Return ds
  
  End Function

  Sub ItemsGrid_ItemCommand(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
  
    ' Use the CommandSource property to retrieve the LinkButton
    ' control that raised the event.
    Dim selectButton As LinkButton = CType(e.CommandSource, LinkButton)

    ' Display the desciption for the job title.
    Message.Text = selectButton.Text & " - "
    
    Select Case (selectButton.Text)
    
      Case "Sales Representative"
        Message.Text &= "Sells products to customers."

      Case "Vice President, Sales"
        Message.Text &= "Manages the sales division."

      Case "Sales Manager"
        Message.Text &= "Manages a sales team."

      Case "Inside Sales Coordinator"
        Message.Text &= "Coordinates cross team communications."

      Case Else
        Message.Text &= "To be determined."
    
    End Select
    
  End Sub
  
</script>

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

      <h3>DataGridCommandEventArgs CommandSource Example</h3>

      <asp:datagrid
        id="ItemsGrid"
        autogeneratecolumns="false"
        onitemcommand="ItemsGrid_ItemCommand"  
        runat="server">

          <columns>
          
            <asp:BoundColumn DataField="FirstName"
              headertext="First Name"/>
            <asp:BoundColumn DataField="LastName"
              headertext="Last Name"/>
            <asp:buttoncolumn buttontype="LinkButton"
              datatextfield="Title"
              headertext="Title"/> 
          
          </columns>
        
      </asp:datagrid>
      
      <br/><br/>
      
      <asp:label id="Message" 
        runat="server"/>

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

설명

사용 된 CommandSource 이벤트를 발생 시킨 명령 소스를 확인 하는 속성입니다. 이 속성은 일반적으로 이벤트를 발생 시킨 명령을 확인에 사용 됩니다.

적용 대상

추가 정보