TreeNode Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í. |