TreeNodeBinding Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Meghatározza az adatelem és a vezérlőelemben kötésben TreeView lévő csomópont közötti kapcsolatot.
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
- Öröklődés
-
TreeNodeBinding
- Megvalósítás
Példák
Az alábbi táblázat néhány példafacsomópont kötési deklarációit mutatja be.
| Példa kötésre | Leírás |
|---|---|
<asp:TreeNodeBinding TextField="Title" ValueField= "ID"/> |
Text A fa összes csomópontjának és Value tulajdonságainak kötése az Title adatforráshoz és ID a mezőkhöz. Minden csomópont ezt a facsomópontkötési deklarációt használja, mert a tulajdonságok és DataMember a Depth tulajdonságok nincsenek beállítva. |
<asp:TreeNodeBinding DataMember= "Book" TextField= "Title" ValueField= "ID"/> |
Text A fa összes csomópontjának és Value tulajdonságainak kötése az TitleID adatforrás adatelemének és Book mezőinek mezőihez. |
<asp:TreeNodeBinding Depth="2" TextField= "Title" ValueField= "ID"/> |
Text A fa 2 mélységű csomópontjának és Value tulajdonságainak kötése az Title adatforrás adatelemének és ID mezőinek mezőihez. |
<asp:TreeNodeBinding DataMember="Book" Depth= "2" TextField= "Title" ValueField= "ID" ImageUrl= "Image.jpg"> |
Text A fa 2 mélységű csomópontjának és Value tulajdonságainak kötése az TitleID adatforrás adatelemének és Book mezőinek mezőihez. Emellett a ImageUrl csomópontok tulajdonságát statikus értékhez köti. |
Ez a szakasz három példakódot tartalmaz. Az első példakód bemutatja, hogyan használhat TreeNodeBinding objektumokat deklaratív módon egy csomópont és egy adatelem közötti kapcsolat meghatározásához. A második példakód bemutatja, hogyan használható TreeNodeBinding az objektumok programozott módon a csomópont és az adatelem közötti kapcsolat meghatározására. A harmadik példa xml-mintaadatokat biztosít az első és a második kód példáihoz.
Az alábbi példakód bemutatja, hogyan használhat TreeNodeBinding objektumokat deklaratív módon egy csomópont és egy adatelem közötti kapcsolat meghatározásához. Ahhoz, hogy ez a példa megfelelően működjön, a példakód után megadott XML-mintaadatokat egy Book.xmlnevű fájlba kell másolnia.
<%@ 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>
Az alábbi példakód bemutatja, hogyan használható TreeNodeBinding az objektumok programozott módon egy csomópont és egy adatelem közötti kapcsolat meghatározására. Ahhoz, hogy ez a példa megfelelően működjön, át kell másolnia a következő példakódban megadott XML-mintaadatokat egy Book.xmlnevű fájlba.
<%@ 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>
Az alábbi példakód xml-mintaadatokat tartalmaz az előző kódmintákhoz.
<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>
Megjegyzések
Ha a TreeView vezérlő olyan adatforráshoz van kötve, amelyben minden adatelem több mezőt tartalmaz (például egy több attribútumot tartalmazó XML-elemet), a csomópont alapértelmezés szerint megjeleníti az ToString adatelem metódusa által visszaadott értéket. XML-elem esetén a csomópont megjeleníti az elem nevét, amely a fa mögöttes szerkezetét mutatja, máskülönben azonban nem túl hasznos. Egy csomópont tulajdonságait egy adott mezőhöz kötheti a facsomópont kötéseinek megadásával. Az TreeNodeBinding objektumok meghatározzák az egyes adatelemek és a csomópontok közötti kapcsolatot, amelyekhez kötést fűznek.
A TreeView vezérlő a tulajdonságban tárolja TreeNodeBinding az DataBindings objektumokat, és a kötéseket az adatforrásra alkalmazza, hogy egy-az-egyhez kapcsolatot hozzon létre a fahierarchia és az adatforrás-hierarchia között. Az adatforrás minden egyes adateleme esetében a TreeView vezérlő megkísérli egyezni az adatelemet egy TreeNodeBinding objektummal a megfelelő TreeNode objektum létrehozása érdekében.
Objektum létrehozásakor TreeNodeBinding meg kell adnia a kötés feltételeit. A feltételek azt jelzik, hogy mikor kell egy adatelemet csomóponthoz kötni. Megadhatja a vagy Depth a DataMember tulajdonságot, vagy mindkét tulajdonságot. Mindkettő megadásával enyhe teljesítménynövekedés érhető el. A csomópontmélység határozza meg a kötött csomópontszintet. Az alábbi TreeNodeBinding deklaráció például az Name adatforrás és ID a tulajdonságok 0 mélységű összes csomóponthoz és tulajdonságokhoz TextValue köti az adatforrást:
<asp:TreeNodeBinding Depth="0" TextField="Name" ValueField="ID">
Az adattagok az alapul szolgáló adatforrás adatelemének típusát határozzák meg, de az adatforrástól függően különböző információkat is képviselhetnek. A hierarchikus adatforrás minden adateleme (amelyet egy System.Web.UI.IHierarchyData interfész jelöl) egy IHierarchyData.Type tulajdonságot tesz elérhetővé, amely meghatározza az adatelem típusát. Egy XML-elem adattagja például az elem nevét adja meg. Ha egy adatforrás több adatelemtípust tartalmaz, az adattag megadja, hogy melyik adatelemtípust használja. Az alábbi TreeNodeBinding deklaráció a <Book> vezérlő elemeit XmlDataSource a fa összes csomópontjára köti, függetlenül a hierarchia helyétől:
<asp:TreeNodeBinding DataMember="Book" TextField="Title" ValueField= "ISBN">
A kötési feltételek meghatározása után egy értékhez kötött objektum tulajdonságát TreeNode kötheti össze. Egy adatelem mezőihez vagy statikus értékhez is kapcsolódhat. Ha statikus értékhez van kötve, az összes TreeNode objektum, amelyre az TreeNodeBinding objektumot alkalmazza, ugyanazzal az értékkel rendelkezik.
Note
Egy objektum kötött tulajdonságát TreeNode szelektíven felülbírálhatja úgy, hogy a megfelelő tulajdonságot közvetlenül a csomóponton állítja be.
Az alábbi táblázat az osztály azon tulajdonságait sorolja TreeNodeBinding fel, amelyek lehetővé teszik, hogy az TreeNode objektum egy tulajdonságát egy adatelem mezőihez kösse.
| Ingatlan | Leírás |
|---|---|
| ImageUrlField | Az objektum tulajdonságához ImageUrl kötődő TreeNode mező. |
| ImageToolTipField | Az objektum tulajdonságához ImageToolTip kötődő TreeNode mező. |
| NavigateUrlField | Az objektum tulajdonságához NavigateUrl kötődő TreeNode mező. |
| TextField | Az objektum tulajdonságához Text kötődő TreeNode mező. |
| ToolTipField | Az objektum tulajdonságához ToolTip kötődő TreeNode mező. |
| ValueField | Az objektum tulajdonságához Value kötődő TreeNode mező. |
Az alábbi táblázat az osztály azon tulajdonságait sorolja TreeNodeBinding fel, amelyek lehetővé teszik az TreeNode objektum egy tulajdonságának statikus értékhez kötését.
| Ingatlan | Leírás |
|---|---|
| ImageUrl | Az objektum tulajdonságához ImageUrlTreeNode kötéshez tartozó statikus érték. |
| ImageToolTip | Az objektum tulajdonságához ImageToolTipTreeNode kötéshez tartozó statikus érték. |
| NavigateUrl | Az objektum tulajdonságához NavigateUrlTreeNode kötéshez tartozó statikus érték. |
| PopulateOnDemand | Az objektum tulajdonságához PopulateOnDemandTreeNode kötéshez tartozó statikus érték. |
| SelectAction | Az objektum tulajdonságához SelectActionTreeNode kötéshez tartozó statikus érték. |
| ShowCheckBox | Az objektum tulajdonságához ShowCheckBoxTreeNode kötéshez tartozó statikus érték. |
| Target | Az objektum tulajdonságához TargetTreeNode kötéshez tartozó statikus érték. |
| Text | Az objektum tulajdonságához TextTreeNode kötéshez tartozó statikus érték. |
| ToolTip | Az objektum tulajdonságához ToolTipTreeNode kötéshez tartozó statikus érték. |
| Value | Az objektum tulajdonságához ValueTreeNode kötéshez tartozó statikus érték. |
Ha ütköző TreeNodeBinding objektumok vannak definiálva, a vezérlő a TreeView facsomópont-kötéseket az alábbi sorrendben alkalmazza:
A TreeNodeBinding mélységet és az adattagot egyaránt meghatározó és egyező objektum.
Az TreeNodeBinding az objektum, amely csak az adattagot határozza meg és felel meg.
Az TreeNodeBinding objektum, amely csak a mélységet határozza meg és felel meg.
Az TreeNodeBinding az objektum, amely nem határozza meg sem a mélységet, sem az adattagot. (Ez a facsomópont-kötéstípus a fa összes csomópontjára érvényes.)
Az TreeNodeBinding az objektum, amely nem rendelkezik egyezéssel az adatforrásban. Ebben az esetben az adatelem metódusa által
ToStringvisszaadott érték azoknak a Text csomópontoknak és Value tulajdonságoknak a tulajdonságaihoz lesz kötve, amelyekre az TreeNodeBinding objektumot alkalmazza.
Az TreeNodeBinding osztály lehetővé teszi a csomóponton megjelenő szöveg formázását is a FormatString tulajdonság beállításával.
Konstruktorok
| Name | Description |
|---|---|
| TreeNodeBinding() |
Inicializálja a TreeNodeBinding osztály új példányát. |
Tulajdonságok
| Name | Description |
|---|---|
| DataMember |
Lekéri vagy beállítja az adatelem tulajdonságának megfelelő Type értéket annak megállapításához, hogy alkalmazza-e a facsomópont kötését. |
| Depth |
Lekéri vagy beállítja az objektum alkalmazásának csomópontmélységét TreeNodeBinding . |
| FormatString |
Lekéri vagy beállítja az objektumot alkalmazó csomópont TreeNodeBinding szövegének megjelenítési formátumát meghatározó sztringet. |
| ImageToolTip |
Lekéri vagy beállítja a kép elemleírásának szövegét, amely egy csomópont mellett jelenik meg, amelyre az TreeNodeBinding objektumot alkalmazza. |
| ImageToolTipField |
Lekéri vagy beállítja a mező nevét az adatforrásból annak az objektumnak a ImageToolTip tulajdonságához TreeNode való kötéshez, amelyre az TreeNodeBinding objektumot alkalmazza. |
| ImageUrl |
Lekéri vagy beállítja az URL-címet egy olyan képre, amely TreeNodeBinding az objektumot alkalmazó csomópont mellett jelenik meg. |
| ImageUrlField |
Lekéri vagy beállítja a mező nevét az adatforrásból annak az objektumnak a ImageUrl tulajdonságához TreeNode való kötéshez, amelyre az TreeNodeBinding objektumot alkalmazza. |
| NavigateUrl |
Lekéri vagy beállítja azt az URL-címet, amelyre az TreeNodeBinding objektumot alkalmazó csomópont kattint. |
| NavigateUrlField |
Lekéri vagy beállítja a mező nevét az adatforrásból annak az objektumnak a NavigateUrl tulajdonságához TreeNode való kötéshez, amelyre az TreeNodeBinding objektumot alkalmazza. |
| PopulateOnDemand |
Lekéri vagy beállít egy értéket, amely jelzi, hogy az objektumot alkalmazó TreeNodeBinding csomópont dinamikusan van-e feltöltve. |
| SelectAction |
Lekéri vagy beállítja az eseményt vagy eseményeket, amikor ki van jelölve egy csomópont, amelyre az TreeNodeBinding objektumot alkalmazták. |
| ShowCheckBox |
Beolvas vagy beállít egy értéket, amely jelzi, hogy egy jelölőnégyzet jelenik-e meg az objektumot alkalmazó csomópont TreeNodeBinding mellett. |
| Target |
Lekéri vagy beállítja azt a célablakot vagy keretet, amelyben megjelenítheti az objektumot alkalmazó csomóponthoz TreeNodeBinding társított weblaptartalmat. |
| TargetField |
Lekéri vagy beállítja a mező nevét az adatforrásból annak az objektumnak a Target tulajdonságához TreeNode való kötéshez, amelyre az TreeNodeBinding objektumot alkalmazza. |
| Text |
Lekéri vagy beállítja annak a csomópontnak a szövegét, amelyre az TreeNodeBinding objektumot alkalmazza. |
| TextField |
Lekéri vagy beállítja a mező nevét az adatforrásból annak az objektumnak a Text tulajdonságához TreeNode való kötéshez, amelyre az TreeNodeBinding objektumot alkalmazza. |
| ToolTip |
Lekéri vagy beállítja az elemleírás szövegét ahhoz a csomóponthoz, amelyre az TreeNodeBinding objektumot alkalmazza. |
| ToolTipField |
Lekéri vagy beállítja a mező nevét az adatforrásból annak az objektumnak a ToolTip tulajdonságához TreeNode való kötéshez, amelyre az TreeNodeBinding objektumot alkalmazza. |
| Value |
Lekéri vagy beállítja a megjelenített értéket, amely nem jelenik meg, de az objektumot alkalmazó csomópont TreeNodeBinding további adatainak tárolására szolgál, például a visszavételi események kezelésére használt adatok tárolására. |
| ValueField |
Lekéri vagy beállítja a mező nevét az adatforrásból annak az objektumnak a Value tulajdonságához TreeNode való kötéshez, amelyre az TreeNodeBinding objektumot alkalmazza. |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
A tulajdonságot adja DataMember vissza. |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| ICloneable.Clone() |
Létrehozza az objektum másolatát TreeNodeBinding . |
| IDataSourceViewSchemaAccessor.DataSourceViewSchema |
Ennek a tagnak a leírását lásd DataSourceViewSchema: . |
| IStateManager.IsTrackingViewState |
Ennek a tagnak a leírását lásd IsTrackingViewState: . |
| IStateManager.LoadViewState(Object) |
Betölti a csomópont korábban mentett nézetállapotát. |
| IStateManager.SaveViewState() |
Menti a nézetállapot módosításait egy objektumba. |
| IStateManager.TrackViewState() |
Utasítja az TreeNode objektumot, hogy kövesse nyomon a nézetállapot változásait. |
A következőre érvényes:
Lásd még
- 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