TreeNodeBinding 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í.
Definuje vztah mezi datovou položkou a uzlem, se kterou je v ovládacím TreeView prvku vázán.
public ref class TreeNodeBinding sealed : ICloneable, System::Web::UI::IDataSourceViewSchemaAccessor, System::Web::UI::IStateManager
public sealed class TreeNodeBinding : ICloneable, System.Web.UI.IDataSourceViewSchemaAccessor, System.Web.UI.IStateManager
type TreeNodeBinding = class
interface IStateManager
interface ICloneable
interface IDataSourceViewSchemaAccessor
Public NotInheritable Class TreeNodeBinding
Implements ICloneable, IDataSourceViewSchemaAccessor, IStateManager
- Dědičnost
-
TreeNodeBinding
- Implementuje
Příklady
Následující tabulka ukazuje ukázkové deklarace vazeb uzlů stromu.
Příklad vazby | Description |
---|---|
<asp:TreeNodeBinding TextField="Title" ValueField= "ID"/> |
Vytvoří vazbu a Text Value vlastnosti všech uzlů ve stromu na Title pole ID zdroje dat. Všechny uzly používají tuto deklaraci vazby uzlu stromu, protože DataMember vlastnosti Depth nejsou nastavené. |
<asp:TreeNodeBinding DataMember= "Book" TextField= "Title" ValueField= "ID"/> |
Text Vytvoří vazbu a Value vlastnosti všech uzlů ve stromu na Title pole ID Book datové položky ve zdroji dat v uvedeném pořadí. |
<asp:TreeNodeBinding Depth="2" TextField= "Title" ValueField= "ID"/> |
Text Sváže vlastnosti všech Value uzlů s hloubkou 2 ve stromu a Title ID poli datové položky ve zdroji dat v uvedeném pořadí. |
<asp:TreeNodeBinding DataMember="Book" Depth= "2" TextField= "Title" ValueField= "ID" ImageUrl= "Image.jpg"> |
Text Sváže vlastnosti všech Value uzlů s hloubkou 2 ve stromu a Title ID poli Book datové položky ve zdroji dat v uvedeném pořadí. Také vytvoří vazbu ImageUrl vlastnosti uzlů na statickou hodnotu. |
Tato část obsahuje tři příklady kódu. První příklad kódu ukazuje, jak použít TreeNodeBinding objekty deklarativní k definování vztahu mezi uzlem a datovou položkou. Druhý příklad kódu ukazuje, jak pomocí TreeNodeBinding objektů programově definovat vztah mezi uzlem a datovou položkou. Třetí příklad kódu poskytuje ukázková data XML pro první a druhé příklady kódu.
Následující příklad kódu ukazuje, jak použít TreeNodeBinding objekty deklarativní k definování vztahu mezi uzlem a datovou položkou. Aby tento příklad fungoval správně, musíte zkopírovat ukázková data XML za tímto příkladem kódu do souboru s názvem Book.xml.
<%@ 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 XML Data Binding Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView XML Data Binding Example</h3>
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
<asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
<asp:TreeNodeBinding DataMember="Section" TextField="Heading"/>
</DataBindings>
</asp:TreeView>
<asp:XmlDataSource id="BookXmlDataSource"
DataFile="Book.xml"
runat="server">
</asp:XmlDataSource>
</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 XML Data Binding Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView XML Data Binding Example</h3>
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
<asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
<asp:TreeNodeBinding DataMember="Section" TextField="Heading"/>
</DataBindings>
</asp:TreeView>
<asp:XmlDataSource id="BookXmlDataSource"
DataFile="Book.xml"
runat="server">
</asp:XmlDataSource>
</form>
</body>
</html>
Následující příklad kódu ukazuje, jak pomocí TreeNodeBinding objektů programově definovat vztah mezi uzlem a datovou položkou. Aby tento příklad fungoval správně, musíte zkopírovat ukázková data XML, která jsou uvedena v dalším příkladu kódu, do souboru s názvem Book.xml.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Create a new TreeView control.
TreeView NewTree = new TreeView();
// Set the properties of the TreeView control.
NewTree.ID = "BookTreeView";
NewTree.DataSourceID = "BookXmlDataSource";
// Create the tree node binding relationship.
// Create the root node binding.
TreeNodeBinding RootBinding = new TreeNodeBinding();
RootBinding.DataMember = "Book";
RootBinding.TextField = "Title";
// Create the parent node binding.
TreeNodeBinding ParentBinding = new TreeNodeBinding();
ParentBinding.DataMember = "Chapter";
ParentBinding.TextField = "Heading";
// Create the leaf node binding.
TreeNodeBinding LeafBinding = new TreeNodeBinding();
LeafBinding.DataMember = "Section";
LeafBinding.TextField = "Heading";
// Add bindings to the DataBindings collection.
NewTree.DataBindings.Add(RootBinding);
NewTree.DataBindings.Add(ParentBinding);
NewTree.DataBindings.Add(LeafBinding);
// Manually register the event handler for the SelectedNodeChanged event.
NewTree.SelectedNodeChanged += new EventHandler(this.Node_Change);
// Add the TreeView control to the Controls collection of the PlaceHolder control.
ControlPlaceHolder.Controls.Add(NewTree);
}
void Node_Change(Object sender, EventArgs e)
{
// Retrieve the TreeView control from the Controls collection of the PlaceHolder control.
TreeView LocalTree = (TreeView)ControlPlaceHolder.FindControl("BookTreeView");
// Display the selected node.
Message.Text = "You selected: " + LocalTree.SelectedNode.Text;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView Constructor Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView Constructor Example</h3>
<asp:PlaceHolder id="ControlPlaceHolder" runat="server">
</asp:PlaceHolder>
<asp:XmlDataSource id="BookXmlDataSource"
DataFile="Book.xml"
runat="server">
</asp:XmlDataSource>
<br /><br />
<asp:Label id="Message" runat="server"/>
</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">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' Create a new TreeView control.
Dim NewTree As New TreeView
' Set the properties of the TreeView control.
NewTree.ID = "BookTreeView"
NewTree.DataSourceID = "BookXmlDataSource"
' Create the tree node binding relationship.
' Create the root node binding.
Dim RootBinding As New TreeNodeBinding
RootBinding.DataMember = "Book"
RootBinding.TextField = "Title"
' Create the parent node binding.
Dim ParentBinding As New TreeNodeBinding
ParentBinding.DataMember = "Chapter"
ParentBinding.TextField = "Heading"
' Create the leaf node binding.
Dim LeafBinding As New TreeNodeBinding
LeafBinding.DataMember = "Section"
LeafBinding.TextField = "Heading"
' Add bindings to the DataBindings collection.
NewTree.DataBindings.Add(RootBinding)
NewTree.DataBindings.Add(ParentBinding)
NewTree.DataBindings.Add(LeafBinding)
' Manually register the event handler for the SelectedNodeChanged event.
AddHandler NewTree.SelectedNodeChanged, AddressOf Node_Change
' Add the TreeView control to the Controls collection of the PlaceHolder control.
ControlPlaceHolder.Controls.Add(NewTree)
End Sub
Sub Node_Change(ByVal sender As Object, ByVal e As EventArgs)
' Retrieve the TreeView control from the Controls collection of the PlaceHolder control.
Dim LocalTree As TreeView = CType(ControlPlaceHolder.FindControl("BookTreeView"), TreeView)
' Display the selected node.
Message.Text = "You selected: " & LocalTree.SelectedNode.Text
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView Constructor Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView Constructor Example</h3>
<asp:PlaceHolder id="ControlPlaceHolder" runat="server">
</asp:PlaceHolder>
<asp:XmlDataSource id="BookXmlDataSource"
DataFile="Book.xml"
runat="server">
</asp:XmlDataSource>
<br /><br />
<asp:Label id="Message" runat="server"/>
</form>
</body>
</html>
Následující příklad kódu poskytuje ukázková data XML pro předchozí příklady kódu.
<Book Title="Book Title">
<Chapter Heading="Chapter 1">
<Section Heading="Section 1">
</Section>
<Section Heading="Section 2">
</Section>
</Chapter>
<Chapter Heading="Chapter 2">
<Section Heading="Section 1">
</Section>
</Chapter>
</Book>
Poznámky
TreeView Pokud je ovládací prvek vázán na zdroj dat, kde každá datová položka obsahuje více polí (například prvek XML s několika atributy), uzel zobrazí hodnotu vrácenou metodou ToString
datové položky ve výchozím nastavení. V případě elementu XML uzel zobrazí název elementu, který zobrazuje základní strukturu stromu, ale není moc užitečný jinak. Vlastnosti uzlu můžete svázat s konkrétním polem zadáním vazeb uzlů stromu. Objekt TreeNodeBinding definuje vztah mezi jednotlivými datovými položkami a uzlem, ke kterému je vázán.
Ovládací TreeView prvek ukládá své TreeNodeBinding objekty do DataBindings vlastnosti a použije vazby na zdroj dat k vytvoření relace 1:1 mezi hierarchií stromu a hierarchií zdroje dat. U každé datové položky ve zdroji TreeView dat se ovládací prvek pokusí shodovat datovou položku s objektem TreeNodeBinding , aby vytvořil odpovídající TreeNode objekt.
Při vytváření objektu TreeNodeBinding je nutné zadat kritéria pro vazbu. Kritéria označují, kdy má být datová položka vázána na uzel. Můžete zadat Depth vlastnost nebo DataMember obě vlastnosti. Pokud zadáte oba typy, můžete dosáhnout mírného zvýšení výkonu. Hloubka uzlu určuje úroveň uzlu, která je vázána. Například následující TreeNodeBinding deklarace sváže Name
pole ID
zdroje dat s Text vlastnostmi a Value vlastnostmi všech uzlů s hloubkou 0:
<asp:TreeNodeBinding Depth="0" TextField="Name" ValueField="ID">
Datový člen určuje typ datové položky v podkladovém zdroji dat, ale může představovat různé informace v závislosti na zdroji dat. Každá datová položka v hierarchickém zdroji dat (reprezentovaná System.Web.UI.IHierarchyData rozhraním) zveřejňuje IHierarchyData.Type vlastnost, která určuje typ datové položky. Například datový člen elementu XML určuje název elementu. Pokud zdroj dat obsahuje více typů datových položek, určuje datový člen, který datový typ položky se má použít. Následující TreeNodeBinding deklarace sváže <Book>
prvky XmlDataSource ovládacího prvku se všemi uzly ve stromu bez ohledu na umístění v hierarchii:
<asp:TreeNodeBinding DataMember="Book" TextField="Title" ValueField= "ISBN">
Po vytvoření kritérií vazby můžete vytvořit vazbu vlastnosti objektu TreeNode , který může být vázán na hodnotu. Můžete vytvořit vazbu na pole datové položky nebo na statickou hodnotu. Při vazbě na statickou hodnotu sdílejí všechny TreeNode objekty, na které TreeNodeBinding je objekt použit, stejnou hodnotu.
Poznámka
Vázané vlastnosti v objektu TreeNode můžete selektivně přepsat nastavením odpovídající vlastnosti přímo v uzlu.
Následující tabulka uvádí vlastnosti TreeNodeBinding třídy, které umožňují vytvořit vazbu vlastnosti objektu TreeNode na pole datové položky.
Vlastnost | Popis |
---|---|
ImageUrlField | Pole, které se má svázat s ImageUrl vlastností objektu TreeNode . |
ImageToolTipField | Pole, které se má svázat s ImageToolTip vlastností objektu TreeNode . |
NavigateUrlField | Pole, které se má svázat s NavigateUrl vlastností objektu TreeNode . |
TextField | Pole, které se má svázat s Text vlastností objektu TreeNode . |
ToolTipField | Pole, které se má svázat s ToolTip vlastností objektu TreeNode . |
ValueField | Pole, které se má svázat s Value vlastností objektu TreeNode . |
Následující tabulka uvádí vlastnosti TreeNodeBinding třídy, které umožňují vytvořit vazbu vlastnosti objektu TreeNode na statickou hodnotu.
Vlastnost | Popis |
---|---|
ImageUrl | Statická hodnota, která se má svázat s ImageUrl vlastností objektu TreeNode . |
ImageToolTip | Statická hodnota, která se má svázat s ImageToolTip vlastností objektu TreeNode . |
NavigateUrl | Statická hodnota, která se má svázat s NavigateUrl vlastností objektu TreeNode . |
PopulateOnDemand | Statická hodnota, která se má svázat s PopulateOnDemand vlastností objektu TreeNode . |
SelectAction | Statická hodnota, která se má svázat s SelectAction vlastností objektu TreeNode . |
ShowCheckBox | Statická hodnota, která se má svázat s ShowCheckBox vlastností objektu TreeNode . |
Target | Statická hodnota, která se má svázat s Target vlastností objektu TreeNode . |
Text | Statická hodnota, která se má svázat s Text vlastností objektu TreeNode . |
ToolTip | Statická hodnota, která se má svázat s ToolTip vlastností objektu TreeNode . |
Value | Statická hodnota, která se má svázat s Value vlastností objektu TreeNode . |
Pokud jsou definovány konfliktní TreeNodeBinding objekty, TreeView ovládací prvek použije vazby uzlů stromu v následujícím pořadí priorit:
Objekt TreeNodeBinding , který definuje a odpovídá hloubkě i datovému členu.
Objekt TreeNodeBinding , který definuje a odpovídá pouze datovému členu.
Objekt TreeNodeBinding , který definuje a odpovídá pouze hloubkě.
Objekt TreeNodeBinding , který definuje hloubku ani datový člen. (Tento typ vazby uzlu stromu se použije na všechny uzly ve stromu.)
Objekt TreeNodeBinding , který nemá shodu ve zdroji dat. V tomto případě je hodnota vrácená metodou
ToString
datové položky vázána na Text a Value vlastnosti uzlů, na které TreeNodeBinding je objekt použit.
Třída TreeNodeBinding také umožňuje formátovat text zobrazený v uzlu nastavením FormatString vlastnosti.
Konstruktory
TreeNodeBinding() |
Inicializuje novou instanci TreeNodeBinding třídy. |
Vlastnosti
DataMember |
Získá nebo nastaví hodnotu, která se má shodovat s Type vlastností datové položky k určení, zda se má použít vazba uzlu stromu. |
Depth |
Získá nebo nastaví hloubku uzlu, ve kterém TreeNodeBinding je objekt použit. |
FormatString |
Získá nebo nastaví řetězec, který určuje formát zobrazení pro text uzlu, na který TreeNodeBinding je objekt použit. |
ImageToolTip |
Získá nebo nastaví text popisku obrázku zobrazeného vedle uzlu, na který TreeNodeBinding se objekt použije. |
ImageToolTipField |
Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na ImageToolTip vlastnost TreeNode objektu, na který TreeNodeBinding se objekt použije. |
ImageUrl |
Získá nebo nastaví adresu URL na obrázek, který se zobrazí vedle uzlu, na který TreeNodeBinding se objekt použije. |
ImageUrlField |
Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na ImageUrl vlastnost TreeNode objektu, na který TreeNodeBinding je objekt použit. |
NavigateUrl |
Získá nebo nastaví adresu URL pro odkaz, na který je uzel, na který TreeNodeBinding je použit objekt je kliknutí. |
NavigateUrlField |
Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na NavigateUrl vlastnost TreeNode objektu, na který TreeNodeBinding je objekt použit. |
PopulateOnDemand |
Získá nebo nastaví hodnotu určující, zda uzel, na který TreeNodeBinding je objekt použit, je naplněn dynamicky. |
SelectAction |
Získá nebo nastaví událost nebo události, které se mají vyvolat, když je vybrán uzel, na který TreeNodeBinding je objekt použit. |
ShowCheckBox |
Získá nebo nastaví hodnotu určující, zda je zaškrtávací políčko zobrazeno vedle uzlu, na který TreeNodeBinding je objekt použit. |
Target |
Získá nebo nastaví cílové okno nebo rámec, ve kterém se zobrazí obsah webové stránky přidružený k uzlu, na který TreeNodeBinding je objekt použit. |
TargetField |
Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na Target vlastnost TreeNode objektu, na který TreeNodeBinding se objekt použije. |
Text |
Získá nebo nastaví text zobrazený pro uzel, na který TreeNodeBinding je objekt použit. |
TextField |
Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na Text vlastnost TreeNode objektu, na který TreeNodeBinding se objekt použije. |
ToolTip |
Získá nebo nastaví text popisku pro uzel, na který TreeNodeBinding se objekt použije. |
ToolTipField |
Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na ToolTip vlastnost TreeNode objektu, na který TreeNodeBinding se objekt použije. |
Value |
Získá nebo nastaví zobrazenou hodnotu, která se nezobrazuje, ale slouží k uložení dalších dat o uzlu, na který TreeNodeBinding je objekt použit, například data použitá pro zpracování událostí postback. |
ValueField |
Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na Value vlastnost TreeNode objektu, na který TreeNodeBinding se objekt použije. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
ToString() |
DataMember Vrátí vlastnost. |
Explicitní implementace rozhraní
ICloneable.Clone() |
Vytvoří kopii objektu TreeNodeBinding . |
IDataSourceViewSchemaAccessor.DataSourceViewSchema |
Popis tohoto člena najdete v tématu DataSourceViewSchema. |
IStateManager.IsTrackingViewState |
Popis tohoto člena najdete v tématu IsTrackingViewState. |
IStateManager.LoadViewState(Object) |
Načte dříve uložený stav zobrazení pro uzel. |
IStateManager.SaveViewState() |
Uloží změny stavu zobrazení do objektu. |
IStateManager.TrackViewState() |
Dává objektu TreeNode pokyn ke sledování změn ve stavu zobrazení. |
Platí pro
Viz také
- TreeView
- TreeNode
- TreeNodeBindingCollection
- XmlDataSource
- DataBindings
- DataMember
- Depth
- FormatString
- ImageUrl
- ImageUrlField
- ImageToolTip
- ImageToolTipField
- NavigateUrl
- NavigateUrl
- NavigateUrlField
- PopulateOnDemand
- SelectAction
- ShowCheckBox
- Target
- Text
- Text
- TextField
- ToolTip
- ToolTip
- ToolTipField
- Value
- Value
- ValueField