War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
SelectAction-Eigenschaft

TreeNode.SelectAction-Eigenschaft

Hinweis: Diese Eigenschaft ist neu in .NET Framework, Version 2.0.

Ruft das Ereignis oder die Ereignisse ab, die ausgelöst werden sollen, wenn ein Knoten ausgewählt wird, oder legt diese Ereignisse fest.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

public TreeNodeSelectAction SelectAction { get; set; }
/** @property */
public TreeNodeSelectAction get_SelectAction ()

/** @property */
public void set_SelectAction (TreeNodeSelectAction value)

public function get SelectAction () : TreeNodeSelectAction

public function set SelectAction (value : TreeNodeSelectAction)

Eigenschaftenwert

Einer der TreeNodeSelectAction-Werte. Der Standardwert ist TreeNodeSelectAction.Select.

Der Text eines Knotens im TreeView-Steuerelement kann in zwei Modi vorliegen: im Auswahlmodus oder im Navigationsmodus. Standardmäßig befindet sich ein Knoten im Auswahlmodus. Legen Sie die NavigateUrl-Eigenschaft des Knotens auf einen anderen Wert als eine leere Zeichenfolge ("") fest, um einen Knoten in den Navigationsmodus zu versetzen. Wenn Sie einen Knoten in den Auswahlmodus versetzen möchten, legen Sie die NavigateUrl-Eigenschaft des Knotens auf eine leere Zeichenfolge fest.

HinweisHinweis

Wenn sich ein Knoten im Navigationsmodus befindet, werden Auswahlereignisse für diesen Knoten deaktiviert. Durch Klicken auf einen Knoten gelangt der Benutzer zum angegebenen URL. Dabei wird die Seite nicht an den Server gesendet, und es wird kein Ereignis ausgelöst.

Wenn sich ein Knoten im Auswahlmodus befindet, geben Sie mithilfe der SelectAction-Eigenschaft an, welches Ereignis oder welche Ereignisse ausgelöst werden, wenn der Knoten ausgewählt wird. In der folgenden Tabelle sind die verfügbaren Optionen aufgelistet.

Auswahlaktion

Beschreibung

TreeNodeSelectAction.Expand

Wechselt zwischen dem erweiterten und dem reduzierten Zustand des Knotens. Löst das TreeNodeExpanded-Ereignis bzw. das TreeNodeCollapsed-Ereignis aus.

TreeNodeSelectAction.None

Löst keine Ereignisse aus, wenn ein Knoten ausgewählt wird.

TreeNodeSelectAction.Select

Löst das SelectedNodeChanged-Ereignis aus, wenn ein Knoten ausgewählt wird.

TreeNodeSelectAction.SelectExpand

Löst das SelectedNodeChanged-Ereignis und das TreeNodeExpanded-Ereignis aus, wenn ein Knoten ausgewählt wird. Knoten werden nur erweitert, nie reduziert.

HinweisHinweis

Die HoverNodeStyle-Eigenschaft wird für einen Knoten nicht dargestellt, wenn dessen SelectAction-Eigenschaft auf TreeNodeSelectAction.None festgelegt ist.

Der Wert dieser Eigenschaft wird im Ansichtszustand gespeichert.

ThemaPosition
Gewusst wie: Hinzufügen oder Löschen von TreeView-Knotenelementen (Visual Studio)Erstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Hinzufügen oder Löschen von TreeView-KnotenelementenErstellen von ASP.NET-Webanwendungen in Visual Studio
Gewusst wie: Hinzufügen oder Löschen von TreeView-KnotenelementenErstellen von ASP.NET-Webanwendungen in Visual Studio

Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe der SelectAction-Eigenschaft angegeben wird, welches Ereignis ausgelöst wird, wenn auf einen Knoten geklickt wird.


<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<script runat="server">

  void PopulateNode(Object sender, TreeNodeEventArgs e)
  {

    // Call the appropriate method to populate a node at a particular level.
    switch(e.Node.Depth)
    {
      case 0:
        // Populate the first-level nodes.
        PopulateCategories(e.Node);
        break;
      case 1:
        // Populate the second-level nodes.
        PopulateProducts(e.Node);
        break;
      default:
        // Do nothing.
        break;
    }
    
  }

  void PopulateCategories(TreeNode node)
  {
    
    // Query for the product categories. These are the values
    // for the second-level nodes.
    DataSet ResultSet = RunQuery("Select CategoryID, CategoryName From Categories");

    // Create the second-level nodes.
    if(ResultSet.Tables.Count > 0)
    {
    
      // Iterate through and create a new node for each row in the query results.
      // Notice that the query results are stored in the table of the DataSet.
      foreach (DataRow row in ResultSet.Tables[0].Rows)
      {
        
        // Create the new node. Notice that the CategoryId is stored in the Value property 
        // of the node. This will make querying for items in a specific category easier when
        // the third-level nodes are created. 
        TreeNode newNode = new TreeNode();
        newNode.Text = row["CategoryName"].ToString(); 
        newNode.Value = row["CategoryID"].ToString();        

        // Set the PopulateOnDemand property to true so that the child nodes can be 
        // dynamically populated.
        newNode.PopulateOnDemand = true;
        
        // Set additional properties for the node.
        newNode.SelectAction = TreeNodeSelectAction.Expand;
        
        // Add the new node to the ChildNodes collection of the parent node.
        node.ChildNodes.Add(newNode);
        
      }
      
    }
    
  }

  void PopulateProducts(TreeNode node)
  {

    // Query for the products of the current category. These are the values
    // for the third-level nodes.
    DataSet ResultSet = RunQuery("Select ProductName From Products Where CategoryID=" + node.Value);

    // Create the third-level nodes.
    if(ResultSet.Tables.Count > 0)
    {
    
      // Iterate through and create a new node for each row in the query results.
      // Notice that the query results are stored in the table of the DataSet.
      foreach (DataRow row in ResultSet.Tables[0].Rows)
      {
      
        // Create the new node.
        TreeNode NewNode = new TreeNode(row["ProductName"].ToString());
        
        // Set the PopulateOnDemand property to false, because these are leaf nodes and
        // do not need to be populated.
        NewNode.PopulateOnDemand = false;
        
        // Set additional properties for the node.
        NewNode.SelectAction = TreeNodeSelectAction.None;
        
        // Add the new node to the ChildNodes collection of the parent node.
        node.ChildNodes.Add(NewNode);
        
      }
      
    }

  }

  DataSet RunQuery(String QueryString)
  {

    // Declare the connection string. This example uses Microsoft SQL Server 
    // and connects to the Northwind sample database.
    String ConnectionString = "server=localhost;database=NorthWind;Integrated Security=SSPI"; 

    SqlConnection DBConnection = new SqlConnection(ConnectionString);
    SqlDataAdapter DBAdapter;
    DataSet ResultsDataSet = new DataSet();

    try
    {

      // Run the query and create a DataSet.
      DBAdapter = new SqlDataAdapter(QueryString, DBConnection);
      DBAdapter.Fill(ResultsDataSet);

      // Close the database connection.
      DBConnection.Close();

    }
    catch(Exception ex)
    {

      // Close the database connection if it is still open.
      if(DBConnection.State == ConnectionState.Open)
      {
        DBConnection.Close();
      }
      
      Message.Text = "Unable to connect to the database.";

    }

    return ResultsDataSet;

  }

</script>

<html>
  <body>
    <form runat="server">
    
      <h3>TreeView PopulateNodesFromClient Example</h3>
    
      <asp:TreeView id="LinksTreeView"
        Font-Name= "Arial"
        ForeColor="Blue"
        EnableClientScript="true"
        PopulateNodesFromClient="true"  
        OnTreeNodePopulate="PopulateNode"
        runat="server">
         
        <Nodes>
        
          <asp:TreeNode Text="Inventory" 
            SelectAction="Expand"  
            PopulateOnDemand="true"/>
        
        </Nodes>
        
      </asp:TreeView>
      
      <br><br>
      
      <asp:Label id="Message" runat="server"/>

    </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 unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0
Anzeigen:
© 2015 Microsoft