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 použití deklarativní syntaxe 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á uzel typu list. Uzel, který není obsažen v žádném jiném uzlu, 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ů určuje, jestli je uzel kořenovým, nadřazeným nebo listovým uzlem.

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

Uzel primárně ukládá data ve dvou vlastnostech, vlastnosti Text a Value vlastnosti. Hodnota Text vlastnosti se zobrazí v ovládacím TreeView prvku a Value tato vlastnost se používá k uložení dalších dat o uzlu, jako jsou například data použitá pro zpracování událostí postback. Uzel také ukládá cestu z uzlu do 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. Pokud uživatel v tomto scénáři 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 sloužící k zobrazení, jestli je uzel rozbalený, sbalený nebo ne rozbalitelný.

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

  • Obrázek volitelného uzlu.

  • Text uzlu.

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

Chcete-li 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, zaškrtávací políčka se zobrazí vedle zadaného typu uzlu. Zaškrtnutí políčka jednotlivých uzlů můžete selektivně přepsat nastavením vlastnosti uzlu ShowCheckBox . Při zobrazení zaškrtávacího políčka pomocí Checked vlastnosti určete, zda je políčko zaškrtnuté.

Obrázek můžete zobrazit v uzlu 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ů: režim výběru nebo navigační režim. Ve výchozím nastavení je uzel v režimu výběru. Pokud chcete umístit uzel do navigačního režimu, nastavte vlastnost uzlu NavigateUrl na jinou hodnotu než prázdný řetězec (""). Pokud chcete umístit uzel 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ůže ovlivnit výkon TreeView ovládacího prvku. Například Aplikace Microsoft Internet Explorer 6.0 má limit znaků adresy URL 2067 znaků, které publikuje. Pokud je počet znaků v adrese URL uzlu větší než toto číslo, rozbalení tohoto uzlu selže a nevyvolá se žádná výjimka.

Ve výchozím nastavení kliknutím na uzel, který je v režimu výběru, publikuje stránku 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 najdete na webu SelectAction. Chcete-li zjistit, na který uzel byl kliknut v režimu výběru, použijte SelectedNode vlastnost TreeView ovládacího prvku.

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

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

Třída poskytuje několik vlastností, které pomáhají určit umístění 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 strukturu stromové struktury z důvodu velikosti dat nebo vlastního obsahu, který závisí na vstupu uživatele. Z tohoto důvodu TreeView ovládací prvek podporuje dynamický počet obyvatel uzlů. Uzel lze při rozbalení naplnit za běhu. Mějte na paměti, že pokud zachováte asynchronně vytvořené uzly, můžete získat neočekávané chování. Pokud například použijete pracovní vlákno na pozadí k asynchronnímu naplnění uzlů, strom uzlu nemusí být vyplněn okamžitě, i když ovládací prvek pokračuje se zbytkem životního cyklu stránky. Při zpětném odeslání může zpožděné vytváření uzlů způsobit problémy při načtení stavu zobrazení ovládacího prvku, ale strom uzlu není plně naplněn. Další informace o dynamickém souboru uzlů najdete v PopulateOnDemand této vlastnosti.

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

Konstruktory

Name Description
TreeNode()

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

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(String, String, String)

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

TreeNode(String, String)

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

TreeNode(String)

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

TreeNode(TreeView, Boolean)

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

Vlastnosti

Name Description
Checked

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

ChildNodes

TreeNodeCollection Získá kolekci, 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á datová položka, která je vázána na ovládací prvek.

DataPath

Získá cestu k datům vázaným na uzel.

Depth

Získá hloubku uzlu.

Expanded

Získá nebo nastaví hodnotu, která označuje, zda uzel je 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ý se zobrazí vedle uzlu.

IsTrackingViewState

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

NavigateUrl

Získá nebo nastaví adresu URL pro přechod po 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, které se mají vyvolat při výběru uzlu.

Selected

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

ShowCheckBox

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

Target

Získá nebo nastaví cílové okno nebo rámec, ve kterém se má 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í text popisu pro uzel.

Value

Získá nebo nastaví nezobrazovat hodnotu použitou k uložení jakýchkoli dalších dat o uzlu, jako jsou data používaná pro zpracování událostí postback.

ValuePath

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

Metody

Name Description
Clone()

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

Collapse()

Sbalí aktuální uzel stromu.

CollapseAll()

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

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

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

Rozbalí aktuální uzel stromu.

ExpandAll()

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

GetHashCode()

Slouží jako výchozí funkce hash.

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

Získá Type aktuální instance.

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

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

MemberwiseClone()

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

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

Slouží k přepínání mezi rozbaleným a sbaleným stavem uzlu.

ToString()

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

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

Označí výchozí bod, ve kterém chcete začít sledovat a ukládat změny stavu zobrazení do uzlu.

Explicitní implementace rozhraní

Name Description
ICloneable.Clone()

Vytvoří kopii objektu TreeNode .

IStateManager.IsTrackingViewState

Popis tohoto člena naleznete v tématu IsTrackingViewState.

IStateManager.LoadViewState(Object)

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

IStateManager.SaveViewState()

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

IStateManager.TrackViewState()

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

Platí pro

Viz také