TreeNode Klass

Definition

Representerar en nod i TreeView kontrollen.

public ref class TreeNode : ICloneable, System::Web::UI::IStateManager
public class TreeNode : ICloneable, System.Web.UI.IStateManager
type TreeNode = class
    interface IStateManager
    interface ICloneable
Public Class TreeNode
Implements ICloneable, IStateManager
Arv
TreeNode
Implementeringar

Exempel

I följande kodexempel visas hur du konfigurerar ramarna för nästa kodexempel.


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>TreeView Frameset Example</title>
</head>
         
    <frameset cols="30%, 75%">
   
        <frame title="MenuFrame" name="Menu" src="TreeViewFramecs.aspx"/>
        <frame title="ContentFrame" name="Content" src="Home.aspx"/> 
           
    </frameset>      
   
</html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>TreeView Frameset Example</title>
</head>
         
    <frameset cols="30%, 75%">
   
        <frame title="MenuFrame" name="Menu" src="TreeViewFramevb.aspx"/>
        <frame title="ContentFrame" name="Content" src="Home.aspx"/> 
           
    </frameset>      
   
</html>

I följande kodexempel visas hur du använder deklarativ syntax för att skapa TreeNode objekt i TreeView kontrollen. Det här exemplet används i ramuppsättningen i föregående exempel för att visa en innehållsförteckning.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView Declarative Syntax Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView Declarative Syntax Example</h3>
      
      <asp:TreeView id="SampleTreeView" 
        runat="server">
         
        <Nodes>
        
          <asp:TreeNode Value="Home" 
            NavigateUrl="Home.aspx" 
            Text="Home"
            Target="Content" 
            Expanded="True">
             
            <asp:TreeNode Value="Page 1" 
              NavigateUrl="Page1.aspx" 
              Text="Page1"
              Target="Content">
               
              <asp:TreeNode Value="Section 1" 
                NavigateUrl="Section1.aspx" 
                Text="Section 1"
                Target="Content"/>
                 
            </asp:TreeNode>              
            
            <asp:TreeNode Value="Page 2" 
              NavigateUrl="Page2.aspx"
              Text="Page 2"
              Target="Content">
               
            </asp:TreeNode> 
            
          </asp:TreeNode>
        
        </Nodes>
        
      </asp:TreeView>

    </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">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView Declarative Syntax Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView Declarative Syntax Example</h3>
      
      <asp:TreeView id="SampleTreeView" 
        runat="server">
         
        <Nodes>
        
          <asp:TreeNode Value="Home" 
            NavigateUrl="Home.aspx" 
            Text="Home"
            Target="Content" 
            Expanded="True">
             
            <asp:TreeNode Value="Page 1" 
              NavigateUrl="Page1.aspx" 
              Text="Page1"
              Target="Content">
               
              <asp:TreeNode Value="Section 1" 
                NavigateUrl="Section1.aspx" 
                Text="Section 1"
                Target="Content"/>
                 
            </asp:TreeNode>              
            
            <asp:TreeNode Value="Page 2" 
              NavigateUrl="Page2.aspx"
              Text="Page 2"
              Target="Content">
               
            </asp:TreeNode> 
            
          </asp:TreeNode>
        
        </Nodes>
        
      </asp:TreeView>

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

Kommentarer

Kontrollen TreeView består av noder. Varje post i trädet kallas för en nod och representeras av ett TreeNode objekt. En nod som innehåller andra noder kallas för en överordnad nod. En nod som finns i en annan nod kallas för en underordnad nod. En nod som inte har några underordnade noder kallas för en lövnod. En nod som inte finns i någon annan nod, men som är överordnade till alla andra noder, är rotnoden. En nod kan vara både överordnad och underordnad, men rot-, över- och lövnoder är ömsesidigt uteslutande. Flera visuella och beteendemässiga egenskaper för noder bestäms av om en nod är en rot-, överordnad eller lövnod .

Även om ett typiskt träd bara har en rotnod kan TreeView du med kontrollen lägga till flera rotnoder i trädstrukturen. Detta är användbart när du vill visa objektlistor utan att visa en enda huvudrotnod, som i en lista över produktkategorier.

En nod lagrar främst data i två egenskaper, egenskapen Text och egenskapen Value . Värdet för Text egenskapen visas i TreeView kontrollen och Value egenskapen används för att lagra ytterligare data om noden, till exempel data som används för hantering av efteråterställningshändelser. En nod lagrar också sökvägen från noden till dess rotnod i ValuePath egenskapen. Egenskapen ValuePath anger nodens position i förhållande till rotnoden.

Note

Noder på samma nivå måste ha ett unikt värde för Value egenskapen. TreeView Kontrollen kan inte skilja mellan olika noder på samma nivå som har samma värde. Om användaren i det här scenariot klickar på en nod som har ett duplicerat värde väljs den nod som visas först i TreeView kontrollen.

Ett TreeNode objekt består av följande fyra användargränssnittselement (UI), som kan anpassas eller döljas:

  • En indikatorikon för expansionsnoder som används för att visa om noden är expanderad, komprimerad eller inte kan expanderas.

  • En valfri kryssruta som är associerad med noden.

  • En valfri nodbild.

  • Nodtexten.

Du kan ange en anpassad avbildning för de expanderande, komprimerbara och icke-utökningsbara nodindikatorerna genom att ange ExpandImageUrlegenskaperna , CollapseImageUrloch NoExpandImageUrl för TreeView klassen. Ikonerna för expansionsnodindikatorn kan till och med döljas helt genom att ställa in ShowExpandCollapse egenskapen för TreeView klassen på false.

Om du vill visa en kryssruta bredvid en nod anger du ShowCheckBoxes klassens TreeView egenskap. När egenskapen ShowCheckBoxes är inställd på ett annat värde än TreeNodeType.Nodevisas kryssrutor bredvid den angivna nodtypen. Du kan selektivt åsidosätta kryssrutan för en enskild nod genom att ange nodens ShowCheckBox egenskap. När en kryssruta visas använder du Checked egenskapen för att avgöra om kryssrutan är markerad.

Du kan visa en bild i en nod genom att ange egenskapen ImageUrl . Den här bilden visas bredvid nodtexten.

Texten på en nod i TreeView kontrollen kan vara i något av två lägen: markeringsläge eller navigeringsläge. Som standard är en nod i markeringsläge. Om du vill placera en nod i navigeringsläge anger du nodens NavigateUrl egenskap till ett annat värde än en tom sträng (""). Om du vill placera en nod i markeringsläge anger du nodens NavigateUrl egenskap till en tom sträng.

Note

Vissa webbläsare har en begränsning som kan påverka kontrollens TreeView prestanda. Till exempel har Microsoft Internet Explorer 6.0 en URL-teckengräns på 2 067 tecken som den publicerar. Om antalet tecken i en URL för en nod är större än det talet, kommer det inte att gå att expandera noden och inget undantag genereras.

Om du klickar på en nod som är i markeringsläge skickas sidan tillbaka till servern och händelsen höjs SelectedNodeChanged . Du kan också ange en annan händelse som ska genereras genom att ange nodens SelectAction egenskap. Mer information finns i SelectAction. Om du vill avgöra vilken nod som klickades i markeringsläge använder du SelectedNode kontrollens TreeView egenskap.

När en nod är i navigeringsläge inaktiveras alla markeringshändelser för den noden. Om du klickar på noden i navigeringsläget dirigeras användaren till den angivna URL:en. Du kan också ange Target egenskapen för att ange det fönster eller den ram där det länkade innehållet ska visas.

Klassen TreeNode innehåller flera egenskaper som används för att lagra nodens tillstånd. Använd egenskapen Selected för att avgöra om en nod har valts. Använd egenskapen för att avgöra om noden är expanderad Expanded . Egenskapen DataBound används för att avgöra om en nod är bunden till data. När en nod är bunden till data kan du komma åt det underliggande dataobjektet med hjälp DataItem av egenskapen .

Klassen innehåller flera egenskaper som hjälper dig att fastställa positionen för en nod i förhållande till andra noder i trädet. Använd egenskapen Depth för att fastställa nodens djup. Du kan hämta den avgränsade listan över noder från den aktuella noden till dess rotnod med hjälp ValuePath av egenskapen . Använd egenskapen för Parent att fastställa nodens överordnade nod. Underordnade noder nås med hjälp av ChildNodes samlingen.

Ibland är det inte praktiskt att statiskt fördefinierade trädstrukturen på grund av datastorlek eller anpassat innehåll som är beroende av användarindata. På grund av detta TreeView stöder kontrollen dynamisk nodpopulation. En nod kan fyllas i vid körning när den expanderas. Observera att du kan få oväntat beteende om du bevarar asynkront skapade noder. Om du till exempel använder en bakgrundsarbetstråd för att fylla noder asynkront kanske nodträdet inte fylls i omedelbart även om kontrollen fortsätter med resten av sidlivscykeln. Efter återställningen kan fördröjd skapande av noderna orsaka problem när kontrollens visningstillstånd läses in men nodträdet inte är helt fyllt. Mer information om dynamisk nodpopulation finns i egenskapen PopulateOnDemand .

En lista över initiala egenskapsvärden för en instans av TreeNodefinns i TreeNode konstruktorn.

Konstruktorer

Name Description
TreeNode()

Initierar en ny instans av TreeNode klassen utan text eller ett värde.

TreeNode(String, String, String, String, String)

Initierar en ny instans av klassen med hjälp av TreeNode angiven text, värde, bild-URL, navigerings-URL och mål.

TreeNode(String, String, String)

Initierar en ny instans av TreeNode klassen med den angivna text-, värde- och bild-URL:en.

TreeNode(String, String)

Initierar en ny instans av TreeNode klassen med den angivna texten och värdet.

TreeNode(String)

Initierar en ny instans av TreeNode klassen med den angivna texten.

TreeNode(TreeView, Boolean)

Initierar en ny instans av TreeNode klassen med den angivna ägaren.

Egenskaper

Name Description
Checked

Hämtar eller anger ett värde som anger om nodens kryssruta är markerad.

ChildNodes

Hämtar en TreeNodeCollection samling som innehåller de underordnade noderna på den aktuella nodens första nivå.

DataBound

Hämtar ett värde som anger om noden skapades via databindning.

DataItem

Hämtar det dataobjekt som är bundet till kontrollen.

DataPath

Hämtar sökvägen till data som är bundna till noden.

Depth

Hämtar nodens djup.

Expanded

Hämtar eller anger ett värde som anger om noden expanderas.

ImageToolTip

Hämtar eller anger knappbeskrivningstexten för bilden som visas bredvid en nod.

ImageUrl

Hämtar eller anger URL:en till en bild som visas bredvid noden.

IsTrackingViewState

Hämtar ett värde som anger om noden sparar ändringar i visningstillståndet.

NavigateUrl

Hämtar eller anger url:en som ska navigeras till när noden klickas.

Parent

Hämtar den överordnade noden för den aktuella noden.

PopulateOnDemand

Hämtar eller anger ett värde som anger om noden fylls i dynamiskt.

SelectAction

Hämtar eller anger händelsen eller händelserna som ska genereras när en nod väljs.

Selected

Hämtar eller anger ett värde som anger om noden är vald.

ShowCheckBox

Hämtar eller anger ett värde som anger om en kryssruta visas bredvid noden.

Target

Hämtar eller anger målfönstret eller ramen där webbsidans innehåll som är associerat med en nod ska visas.

Text

Hämtar eller anger texten som visas för noden i TreeView kontrollen.

ToolTip

Hämtar eller anger knappbeskrivningstexten för noden.

Value

Hämtar eller anger ett värde som inte visas och som används för att lagra ytterligare data om noden, till exempel data som används för att hantera postback-händelser.

ValuePath

Hämtar sökvägen från rotnoden till den aktuella noden.

Metoder

Name Description
Clone()

Skapar en ny instans av TreeNode klassen med egenskaperna för den aktuella TreeNode instansen.

Collapse()

Döljer den aktuella trädnoden.

CollapseAll()

Döljer den aktuella noden och alla dess underordnade noder.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
Expand()

Expanderar den aktuella trädnoden.

ExpandAll()

Expanderar den aktuella noden och alla dess underordnade noder.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
LoadViewState(Object)

Läser in nodens tidigare sparade vytillstånd.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
RenderPostText(HtmlTextWriter)

Gör att kontrollutvecklare kan lägga till ytterligare återgivning till noden.

RenderPreText(HtmlTextWriter)

Gör att kontrollutvecklare kan lägga till ytterligare återgivning till noden.

SaveViewState()

Sparar nodens aktuella vytillstånd.

Select()

Väljer den aktuella noden i TreeView kontrollen.

ToggleExpandState()

Alternativ mellan nodens expanderade och komprimerade tillstånd.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)
TrackViewState()

Markerar den startpunkt där du kan börja spåra och spara ändringar i visningstillståndet för noden.

Explicita gränssnittsimplementeringar

Name Description
ICloneable.Clone()

Skapar en kopia av TreeNode objektet.

IStateManager.IsTrackingViewState

En beskrivning av den här medlemmen finns i IsTrackingViewState.

IStateManager.LoadViewState(Object)

Läser in nodens tidigare sparade vytillstånd.

IStateManager.SaveViewState()

Sparar visningstillståndet ändras till en Object.

IStateManager.TrackViewState()

Instruerar objektet TreeNode att spåra ändringar i dess visningstillstånd.

Gäller för

Se även