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 prvku svázání TreeView .
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 TextValue vlastnosti všech uzlů ve stromu na Title pole ID zdroje dat. Všechny uzly používají deklaraci vazby uzlu stromu, protože DataMember vlastnosti Depth nejsou nastaveny. |
<asp:TreeNodeBinding DataMember= "Book" TextField= "Title" ValueField= "ID"/> |
Vytvoří vazbu a TextValue vlastnosti všech uzlů ve stromu na Title pole IDBook datové položky ve zdroji dat. |
<asp:TreeNodeBinding Depth="2" TextField= "Title" ValueField= "ID"/> |
Sváže vlastnosti Text všech Value uzlů s hloubkou 2 ve stromu a TitleID poli datové položky ve zdroji dat. |
<asp:TreeNodeBinding DataMember="Book" Depth= "2" TextField= "Title" ValueField= "ID" ImageUrl= "Image.jpg"> |
Sváže vlastnosti Text všech Value uzlů s hloubkou 2 ve stromu a TitleID poli Book datové položky ve zdroji dat. 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 pomocí TreeNodeBinding objektů deklarativní definovat vztah 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říklad kódu.
Následující příklad kódu ukazuje, jak pomocí TreeNodeBinding objektů deklarativní definovat vztah mezi uzlem a datovou položkou. Aby tento příklad fungoval správně, musíte zkopírovat ukázková data XML zadanou po tomto 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">
<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á položka dat obsahuje více polí (například xml element s několika atributy), uzel zobrazí hodnotu vrácenou metodou ToString datové položky ve výchozím nastavení. V případě elementu XML zobrazí uzel název elementu, který zobrazuje základní strukturu stromu, ale není velmi užitečné jinak. Vlastnosti uzlu můžete svázat s určitým polem zadáním vazeb uzlů stromu. Objekt TreeNodeBinding definuje vztah mezi každou datovou položkou 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 stromovou hierarchií a hierarchií zdroje dat. Pro každou položku dat 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 svázaná s uzlem. Můžete zadat Depth vlastnost nebo DataMember obě vlastnosti. Existuje mírné zvýšení výkonu zadáním obou. Hloubka uzlu určuje úroveň uzlu, která se sváže. Například následující TreeNodeBinding deklarace sváže Name pole zdroje ID 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á rozhraním System.Web.UI.IHierarchyData ) zveřejňuje IHierarchyData.Type vlastnost, která určuje typ datové položky. Například datový člen pro element XML určuje název elementu. Pokud zdroj dat obsahuje více typů datových položek, datový člen určuje, 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í vazebních kritérií 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í svázat vlastnost TreeNode objektu s polem datové položky.
| Vlastnictví | Description |
|---|---|
| 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.
| Vlastnictví | Description |
|---|---|
| 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á hloubkové 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
ToStringdatové 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
| Name | Description |
|---|---|
| TreeNodeBinding() |
Inicializuje novou instanci TreeNodeBinding třídy. |
Vlastnosti
| Name | Description |
|---|---|
| DataMember |
Získá nebo nastaví hodnotu, která se má shodovat s Type vlastností datové položky k určení, zda použít vazby 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 popisu pro obrázek, který je zobrazen vedle uzlu, na který TreeNodeBinding je objekt použit. |
| ImageToolTipField |
Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na ImageToolTip vlastnost TreeNode objektu, na který TreeNodeBinding je objekt použit. |
| ImageUrl |
Získá nebo nastaví adresu URL na obrázek, který se zobrazí vedle uzlu, na který TreeNodeBinding je objekt použit. |
| 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 odkaz na, pokud 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 označ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 má zobrazit obsah webové stránky, který je 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 je objekt použit. |
| 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 je objekt použit. |
| ToolTip |
Získá nebo nastaví text popisu pro uzel, na který TreeNodeBinding je objekt použit. |
| ToolTipField |
Získá nebo nastaví název pole ze zdroje dat vytvořit vazbu na ToolTip vlastnost TreeNode objektu, na který TreeNodeBinding je objekt použit. |
| Value |
Získá nebo nastaví zobrazenou hodnotu, která není zobrazena, ale slouží k uložení jakýchkoli 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 je objekt použit. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
DataMember Vrátí vlastnost. |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| ICloneable.Clone() |
Vytvoří kopii objektu TreeNodeBinding . |
| IDataSourceViewSchemaAccessor.DataSourceViewSchema |
Popis tohoto člena naleznete v tématu DataSourceViewSchema. |
| IStateManager.IsTrackingViewState |
Popis tohoto člena naleznete 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, aby sledoval změny jeho 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