Sdílet prostřednictvím


TreeNode Třída

Definice

Představuje uzel v ovládacím TreeView prvku.

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
Dědičnost
TreeNode
Implementuje

Příklady

Následující příklad kódu ukazuje, jak nastavit rámce pro další příklad kódu.


<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>

Následující příklad kódu ukazuje, jak použít deklarativní syntaxi k vytvoření TreeNode objektů v ovládacím TreeView prvku. Tento příklad se používá v sadě rámců předchozího příkladu k zobrazení obsahu.


<%@ 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>

Poznámky

Ovládací TreeView prvek se skládá z uzlů. Každá položka ve stromu se nazývá uzel a je reprezentována objektem TreeNode . Uzel, který obsahuje jiné uzly, se nazývá nadřazený uzel. Uzel, který je obsažen v jiném uzlu, se nazývá podřízený uzel. Uzel, který nemá žádné podřízené uzly, se nazývá listový uzel. Uzel, který není obsažen žádným jiným uzlem, ale je nadřazený všem ostatním uzlům, je kořenový uzel. Uzel může být nadřazený i podřízený, ale kořenové, nadřazené a listové uzly se vzájemně vylučují. Několik vizuálních a behaviorálních vlastností uzlů je určeno tím, jestli je uzel kořenovým, nadřazeným nebo listovým uzlem.

I když typický strom obsahuje pouze jeden kořenový uzel, TreeView ovládací prvek umožňuje přidat do stromové struktury několik kořenových uzlů. To je užitečné, pokud chcete zobrazit výpisy položek bez zobrazení jednoho hlavního kořenového uzlu, například v seznamu kategorií produktů.

Uzel primárně ukládá data ve dvou vlastnostech Text : vlastnosti a vlastnosti Value . Hodnota Text vlastnosti se zobrazí v ovládacím TreeView prvku a Value vlastnost se používá k uložení všech dalších dat o uzlu, jako jsou data používaná pro zpracování událostí postback. Uzel také ukládá cestu z uzlu do jeho kořenového ValuePath uzlu ve vlastnosti. Vlastnost ValuePath označuje pozici uzlu vzhledem ke kořenovému uzlu.

Poznámka

Uzly na stejné úrovni musí mít pro vlastnost jedinečnou hodnotu Value . TreeView Ovládací prvek nemůže rozlišovat mezi různými uzly na stejné úrovni, které mají stejnou hodnotu. V tomto scénáři, pokud uživatel klikne na uzel, který má duplicitní hodnotu, uzel, který se zobrazí jako první v ovládacím TreeView prvku je vybrán.

Objekt TreeNode se skládá z následujících čtyř prvků uživatelského rozhraní, které lze přizpůsobit nebo skrýt:

  • Ikona indikátoru rozšiřujícího uzlu, která slouží k zobrazení, jestli je uzel rozbalený, sbalený nebo nerozbalitelný.

  • Volitelné zaškrtávací políčko přidružené k uzlu.

  • Volitelná image uzlu

  • Text uzlu.

Můžete zadat vlastní image pro indikátory rozbalitelného, sbalitelného a nerozbalitelného uzlu nastavením ExpandImageUrlvlastností , CollapseImageUrla NoExpandImageUrl třídy .TreeView Ikony indikátoru rozšiřujícího TreeView uzlu lze dokonce zcela skrýt nastavením ShowExpandCollapse vlastnosti třídy na false.

Pokud chcete zobrazit zaškrtávací políčko vedle uzlu, nastavte ShowCheckBoxes vlastnost TreeView třídy. ShowCheckBoxes Pokud je vlastnost nastavena na jinou hodnotu než TreeNodeType.Node, zobrazí se zaškrtávací políčka vedle zadaného typu uzlu. Můžete selektivně přepsat zaškrtávací políčko jednotlivých uzlů nastavením vlastnosti uzlu ShowCheckBox . Když se zobrazí zaškrtávací políčko, pomocí Checked vlastnosti určete, jestli je zaškrtávací políčko zaškrtnuté.

Obrázek v uzlu můžete zobrazit nastavením ImageUrl vlastnosti. Tento obrázek se zobrazí vedle textu uzlu.

Text uzlu v ovládacím TreeView prvku může být v jednom ze dvou režimů: v režimu výběru nebo v režimu navigace. Ve výchozím nastavení je uzel v režimu výběru. Pokud chcete uzel převést do navigačního režimu, nastavte vlastnost uzlu NavigateUrl na jinou hodnotu než prázdný řetězec (""). Pokud chcete uzel převést do režimu výběru, nastavte vlastnost uzlu NavigateUrl na prázdný řetězec.

Poznámka

Některé internetové prohlížeče mají omezení, která můžou ovlivnit výkon TreeView ovládacího prvku. Například Aplikace Microsoft Internet Explorer 6.0 má omezení počtu znaků adresy URL na 2067 znaků, které publikuje. Pokud je počet znaků v adrese URL uzlu větší než toto číslo, rozbalení tohoto uzlu se nezdaří a nevyvolá se žádná výjimka.

Ve výchozím nastavení kliknutím na uzel, který je v režimu výběru, se stránka vrátí zpět na server a vyvolá SelectedNodeChanged událost. Volitelně můžete zadat jinou událost, která se má vyvolat nastavením vlastnosti uzlu SelectAction . Další informace naleznete v tématu SelectAction. Pokud chcete zjistit, na který uzel byl v režimu výběru kliknut, použijte SelectedNode vlastnost TreeView ovládacího prvku.

Pokud je uzel v navigačním režimu, jsou pro tento uzel zakázané všechny události výběru. Kliknutím na uzel v navigačním režimu se uživatel nasměruje na zadanou adresu URL. Volitelně můžete nastavit Target vlastnost tak, aby určila okno nebo rámec, ve kterém se má propojený obsah zobrazit.

Třída TreeNode obsahuje několik vlastností, které se používají k uložení stavu uzlu. Selected Pomocí vlastnosti určete, jestli je vybraný uzel. Chcete-li zjistit, zda je uzel rozbalený, použijte Expanded vlastnost . Vlastnost DataBound se používá k určení, zda je uzel svázán s daty. Pokud je uzel svázán s daty, můžete k podkladové datové položce přistupovat pomocí DataItem vlastnosti .

Třída poskytuje několik vlastností, které pomáhají určit pozici uzlu vzhledem k jiným uzlům ve stromu. Depth Pomocí vlastnosti určete hloubku uzlu. Seznam uzlů s oddělovači můžete získat z aktuálního uzlu do jeho kořenového ValuePath uzlu pomocí vlastnosti . K určení nadřazeného uzlu uzlu použijte Parent vlastnost . K podřízeným uzlům se přistupuje pomocí ChildNodes kolekce.

Někdy není praktické staticky předdefinovat stromovou strukturu kvůli velikosti dat nebo vlastnímu obsahu, který závisí na vstupu uživatele. Z tohoto TreeView důvodu ovládací prvek podporuje soubor dynamických uzlů. Uzel je možné naplnit za běhu, když je rozbalený. Všimněte si, že pokud zachováte asynchronně vytvořené uzly, může dojít k neočekávanému chování. Pokud například použijete pracovní vlákno na pozadí k asynchronnímu naplnění uzlů, strom uzlu nemusí být naplněn okamžitě, přestože ovládací prvek pokračuje se zbytkem životního cyklu stránky. Při zpětném spuštění může zpožděné vytvoření uzlů způsobit problémy, když se načte stav zobrazení ovládacího prvku, ale strom uzlu není plně naplněn. Další informace o souboru dynamických uzlů najdete ve PopulateOnDemand vlastnosti .

Seznam počátečních hodnot vlastností pro instanci TreeNodenástroje najdete v konstruktoru TreeNode .

Konstruktory

TreeNode()

Inicializuje novou instanci TreeNode třídy bez textu nebo hodnoty.

TreeNode(String)

Inicializuje novou instanci TreeNode třídy pomocí zadaného textu.

TreeNode(String, String)

Inicializuje novou instanci TreeNode třídy pomocí zadaného textu a hodnoty.

TreeNode(String, String, String)

Inicializuje novou instanci TreeNode třídy pomocí zadaného textu, hodnoty a adresy URL obrázku.

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

Inicializuje novou instanci TreeNode třídy pomocí zadaného textu, hodnoty, adresy URL obrázku, navigační adresy URL a cíle.

TreeNode(TreeView, Boolean)

Inicializuje novou instanci TreeNode třídy pomocí zadaného vlastníka.

Vlastnosti

Checked

Získá nebo nastaví hodnotu, která označuje, zda je zaškrtnuté políčko uzlu.

ChildNodes

Získá kolekci TreeNodeCollection , která obsahuje podřízené uzly první úrovně aktuálního uzlu.

DataBound

Získá hodnotu, která označuje, zda uzel byl vytvořen prostřednictvím datové vazby.

DataItem

Získá položku dat, která je vázána na ovládací prvek.

DataPath

Získá cestu k datům svázaným s uzlem.

Depth

Získá hloubku uzlu.

Expanded

Získá nebo nastaví hodnotu, která označuje, zda je uzel rozbalený.

ImageToolTip

Získá nebo nastaví text popisu obrázku zobrazeného vedle uzlu.

ImageUrl

Získá nebo nastaví adresu URL na obrázek, který je zobrazen vedle uzlu.

IsTrackingViewState

Získá hodnotu, která označuje, zda uzel ukládá změny do stavu zobrazení.

NavigateUrl

Získá nebo nastaví adresu URL, na které přejdete při kliknutí na uzel.

Parent

Získá nadřazený uzel aktuálního uzlu.

PopulateOnDemand

Získá nebo nastaví hodnotu, která označuje, zda je uzel naplněn dynamicky.

SelectAction

Získá nebo nastaví událost nebo události vyvolání při výběru uzlu.

Selected

Získá nebo nastaví hodnotu, která označuje, zda je vybrán uzel.

ShowCheckBox

Získá nebo nastaví hodnotu, která označuje, zda se vedle uzlu zobrazí zaškrtávací políčko.

Target

Získá nebo nastaví cílové okno nebo rámec, ve kterém chcete zobrazit obsah webové stránky přidružené k uzlu.

Text

Získá nebo nastaví text zobrazený pro uzel v ovládacím TreeView prvku.

ToolTip

Získá nebo nastaví popis textu pro uzel.

Value

Získá nebo nastaví nezobraněnou hodnotu, která slouží k uložení jakýchkoli dalších dat o uzlu, například data používaná pro zpracování událostí postback.

ValuePath

Získá cestu z kořenového uzlu do aktuálního uzlu.

Metody

Clone()

Vytvoří novou instanci TreeNode třídy s vlastnostmi aktuální TreeNode instance.

Collapse()

Sbalí aktuální uzel stromové struktury.

CollapseAll()

Sbalí aktuální uzel a všechny jeho podřízené uzly.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Expand()

Rozbalí aktuální uzel stromové struktury.

ExpandAll()

Rozbalí aktuální uzel a všechny jeho podřízené uzly.

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
LoadViewState(Object)

Načte dříve uložený stav zobrazení uzlu.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
RenderPostText(HtmlTextWriter)

Umožňuje vývojářům ovládacích prvků přidat do uzlu další vykreslování.

RenderPreText(HtmlTextWriter)

Umožňuje vývojářům ovládacích prvků přidat do uzlu další vykreslování.

SaveViewState()

Uloží aktuální stav zobrazení uzlu.

Select()

Vybere aktuální uzel v ovládacím TreeView prvku.

ToggleExpandState()

Střídá rozbalený a sbalený stav uzlu.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
TrackViewState()

Označuje počáteční bod, ve kterém se mají začít sledovat a ukládat změny stavu zobrazení uzlu.

Explicitní implementace rozhraní

ICloneable.Clone()

Vytvoří kopii objektu TreeNode .

IStateManager.IsTrackingViewState

Popis tohoto člena najdete v tématu IsTrackingViewState.

IStateManager.LoadViewState(Object)

Načte stav zobrazení dříve uloženého uzlu.

IStateManager.SaveViewState()

Uloží změny stavu zobrazení do Object.

IStateManager.TrackViewState()

Dá objektu TreeNode pokyn, aby sledoval změny stavu zobrazení.

Platí pro

Viz také