Nyelv

TreeNodeBindingCollection Osztály

Definíció

A vezérlőelem objektumgyűjteményét TreeNodeBindingTreeView jelöli. Ez az osztály nem örökölhető.

public ref class TreeNodeBindingCollection sealed : System::Web::UI::StateManagedCollection
public sealed class TreeNodeBindingCollection : System.Web.UI.StateManagedCollection
type TreeNodeBindingCollection = class
    inherit StateManagedCollection
Public NotInheritable Class TreeNodeBindingCollection
Inherits StateManagedCollection
Öröklődés
TreeNodeBindingCollection

Példák

Ez a szakasz két példakódot tartalmaz. Az első példakód bemutatja, hogyan lehet deklaratívan feltölteni egy TreeNodeBindingCollection objektumot. A második példakód bemutatja, hogyan lehet programozott módon feltölteni egy objektumot TreeNodeBindingCollection .

Az alábbi példakód bemutatja, hogyan lehet deklaratívan feltölteni egy TreeNodeBindingCollection objektumot. Ahhoz, hogy ez a példa megfelelően működjön, át kell másolnia a szakasz végén található XML-adatokat 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">
<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 lehet programozott módon feltölteni egy objektumot TreeNodeBindingCollection . Ahhoz, hogy ez a példa megfelelően működjön, a szakasz végén található 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">
<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>

A fenti példakódok XML-adatai a következők.

<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

Az TreeNodeBindingCollection osztály objektumgyűjtemények TreeNodeBinding tárolására és kezelésére szolgál a TreeView vezérlőben. A TreeView vezérlő az osztályt használja a TreeNodeBindingCollection tulajdonságához DataBindings .

A DataBindings tulajdonság olyan objektumokat tartalmaz TreeNodeBinding , amelyek meghatározzák az adatelem és a csomópont közötti kapcsolatot, amelyhez kötést fűz. Ha olyan adatforráshoz köt, amelyben minden adatelem több tulajdonságot tartalmaz (például egy XML-elemet több attribútummal), 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. A csomópontokat egy adott adatelem-tulajdonsághoz kötheti facsomópont-kötések megadásával. Bár a DataBindings gyűjtemény programozott módon is kitölthető, általában deklaratív módon van beállítva.

A facsomópont-kötések deklaratív beállítása:

  1. A vezérlő nyitó és záró címkéi közé ágyazhatja be a nyitó és a záró <DataBindings> címkéket TreeView .

  2. Helyezze <asp:TreeNodeBinding> az elemeket a megnyitni kívánt csomópontkötések nyitó és záró <DataBindings> címkéi közé.

Objektumok hozzáadásával és eltávolításával TreeNodeBindingCollection programozott módon kezelheti TreeNodeBinding a fájlokat. Ha objektumot TreeNodeBinding szeretne hozzáadni a gyűjteményhez, használja a vagy Add a metódustInsert. A csomópontok gyűjteményből való eltávolításához használja az Remove, RemoveAtvagy StateManagedCollection.Clear metódust.

Az TreeNodeBindingCollection osztály számos módon támogatja a gyűjtemény elemeinek elérését:

  • Item[] Az indexelővel közvetlenül lekérhet egy TreeNode objektumot egy adott nulla alapú indexben.

  • StateManagedCollection.GetEnumerator A metódussal létrehozhat egy enumerátort, amely a gyűjteményen keresztüli iteráláshoz használható.

Tulajdonságok

Név Description
Count

Lekéri a gyűjteményben StateManagedCollection található elemek számát.

(Öröklődés forrása StateManagedCollection)
Item[Int32]

Lekéri vagy beállítja az TreeNodeBinding objektumot az objektum megadott indexén TreeNodeBindingCollection .

Metódusok

Név Description
Add(TreeNodeBinding)

Hozzáfűzi a megadott TreeNodeBinding objektumot az TreeNodeBindingCollection objektum végéhez.

Clear()

Eltávolítja az összes elemet a StateManagedCollection gyűjteményből.

(Öröklődés forrása StateManagedCollection)
Contains(TreeNodeBinding)

Meghatározza, hogy a megadott TreeNodeBinding objektum szerepel-e a gyűjteményben.

CopyTo(Array, Int32)

A gyűjtemény elemeit StateManagedCollection egy tömbbe másolja egy adott tömbindextől kezdve.

(Öröklődés forrása StateManagedCollection)
CopyTo(TreeNodeBinding[], Int32)

Az objektum összes TreeNodeBindingCollection elemét TreeNodeBinding átmásolja egy kompatibilis, egydimenziós objektumtömbbe, a céltömb megadott indexétől kezdve.

CreateKnownType(Int32)

Ha felül van bírálva egy származtatott osztályban, létrehoz egy példányt egy implementált osztályból IStateManager. A létrehozott objektum típusa a metódus által GetKnownTypes() visszaadott gyűjtemény megadott tagján alapul.

(Öröklődés forrása StateManagedCollection)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetEnumerator()

Egy iterátort ad vissza, amely a StateManagedCollection gyűjteményen keresztül iterál.

(Öröklődés forrása StateManagedCollection)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetKnownTypes()

Ha felül van bírálva egy származtatott osztályban, lekéri a gyűjtemény által tartalmazhatott típusokat IStateManager tartalmazó tömbötStateManagedCollection.

(Öröklődés forrása StateManagedCollection)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IndexOf(TreeNodeBinding)

Meghatározza a gyűjteményben megadott TreeNodeBinding objektum indexét.

Insert(Int32, TreeNodeBinding)

Beszúrja a megadott TreeNodeBinding objektumot az TreeNodeBindingCollection objektumba a megadott indexhelyen.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
OnClear()

Ha egy származtatott osztályban felül van bírálva, további munkát végez, mielőtt a metódus eltávolítja az Clear() összes elemet a gyűjteményből.

(Öröklődés forrása StateManagedCollection)
OnClearComplete()

Ha egy származtatott osztályban felül van bírálva, további munkát végez, miután a metódus befejezte az Clear() összes elem eltávolítását a gyűjteményből.

(Öröklődés forrása StateManagedCollection)
OnInsert(Int32, Object)

Ha egy származtatott osztályban felül van bírálva, további munkát végez, mielőtt a IList.Insert(Int32, Object) metódus IList.Add(Object) hozzáad egy elemet a gyűjteményhez.

(Öröklődés forrása StateManagedCollection)
OnInsertComplete(Int32, Object)

Ha egy származtatott osztályban felül van bírálva, további munkát végez, miután a IList.Insert(Int32, Object) metódus IList.Add(Object) hozzáad egy elemet a gyűjteményhez.

(Öröklődés forrása StateManagedCollection)
OnRemove(Int32, Object)

Ha egy származtatott osztályban felül van bírálva, további munkát végez, mielőtt a IList.Remove(Object) metódus IList.RemoveAt(Int32) eltávolítja a megadott elemet a gyűjteményből.

(Öröklődés forrása StateManagedCollection)
OnRemoveComplete(Int32, Object)

Ha egy származtatott osztályban felül van bírálva, további munkát végez, miután a vagy IList.Remove(Object) metódus IList.RemoveAt(Int32) eltávolította a megadott elemet a gyűjteményből.

(Öröklődés forrása StateManagedCollection)
OnValidate(Object)

Ha egy származtatott osztályban felül van bírálva, ellenőrzi a StateManagedCollection gyűjtemény egy elemét.

(Öröklődés forrása StateManagedCollection)
Remove(TreeNodeBinding)

Eltávolítja a megadott TreeNodeBinding objektumot az TreeNodeBindingCollection objektumból.

RemoveAt(Int32)

Eltávolítja az objektumot a TreeNodeBinding megadott indexhelyen az TreeNodeBindingCollection objektumból.

SetDirty()

A teljes StateManagedCollection gyűjteményt szerializálni kell megtekintési állapotba.

(Öröklődés forrása StateManagedCollection)
SetDirtyObject(Object)

Ha egy származtatott osztályban felül van bírálva, a gyűjtemény arra utasítja a gyűjteményt object , hogy rögzítse a teljes állapotát az állapot megtekintéséhez ahelyett, hogy csak a változásadatokat rögzíti.

(Öröklődés forrása StateManagedCollection)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Explicit interfész-implementációk

Név Description
ICollection.Count

Lekéri a gyűjteményben StateManagedCollection található elemek számát.

(Öröklődés forrása StateManagedCollection)
ICollection.IsSynchronized

Beolvas egy értéket, amely jelzi, hogy a StateManagedCollection gyűjtemény szinkronizálva van-e (a szál biztonságos). Ez a módszer minden esetben visszaad false .

(Öröklődés forrása StateManagedCollection)
ICollection.SyncRoot

Lekéri a gyűjteményhez StateManagedCollection való hozzáférés szinkronizálására használható objektumot. Ez a módszer minden esetben visszaad null .

(Öröklődés forrása StateManagedCollection)
IEnumerable.GetEnumerator()

Egy iterátort ad vissza, amely a StateManagedCollection gyűjteményen keresztül iterál.

(Öröklődés forrása StateManagedCollection)
IList.Add(Object)

Hozzáad egy elemet a StateManagedCollection gyűjteményhez.

(Öröklődés forrása StateManagedCollection)
IList.Clear()

Eltávolítja az összes elemet a StateManagedCollection gyűjteményből.

(Öröklődés forrása StateManagedCollection)
IList.Contains(Object)

Meghatározza, hogy a StateManagedCollection gyűjtemény tartalmaz-e egy adott értéket.

(Öröklődés forrása StateManagedCollection)
IList.IndexOf(Object)

Meghatározza egy adott elem indexét a StateManagedCollection gyűjteményben.

(Öröklődés forrása StateManagedCollection)
IList.Insert(Int32, Object)

Beszúr egy elemet a StateManagedCollection gyűjteménybe a megadott indexen.

(Öröklődés forrása StateManagedCollection)
IList.IsFixedSize

Beolvas egy értéket, amely jelzi, hogy a StateManagedCollection gyűjtemény rögzített méretű-e. Ez a módszer minden esetben visszaad false .

(Öröklődés forrása StateManagedCollection)
IList.IsReadOnly

Beolvas egy értéket, amely jelzi, hogy a StateManagedCollection gyűjtemény írásvédett-e.

(Öröklődés forrása StateManagedCollection)
IList.Item[Int32]

Lekéri az IStateManager elemet a megadott indexhez.

(Öröklődés forrása StateManagedCollection)
IList.Remove(Object)

Eltávolítja a megadott objektum első előfordulását a StateManagedCollection gyűjteményből.

(Öröklődés forrása StateManagedCollection)
IList.RemoveAt(Int32)

Eltávolítja az IStateManager elemet a megadott indexből.

(Öröklődés forrása StateManagedCollection)
IStateManager.IsTrackingViewState

Beolvas egy értéket, amely jelzi, hogy a StateManagedCollection gyűjtemény menti-e a nézetállapot módosításait.

(Öröklődés forrása StateManagedCollection)
IStateManager.LoadViewState(Object)

Visszaállítja a gyűjtemény korábban mentett nézetállapotát StateManagedCollection és a IStateManager benne lévő elemeket.

(Öröklődés forrása StateManagedCollection)
IStateManager.SaveViewState()

Menti a StateManagedCollection gyűjtemény módosításait és az általa tartalmazott objektumokat IStateManager a lap kiszolgálóra való visszatérése óta.

(Öröklődés forrása StateManagedCollection)
IStateManager.TrackViewState()

StateManagedCollection A gyűjtemény és az IStateManager összes benne lévő objektum nyomon követi a nézetállapot változásait, hogy az ugyanazon lapra vonatkozó kérések között is megmaradhassanak.

(Öröklődés forrása StateManagedCollection)

Bővítő metódusok

Név Description
AsParallel(IEnumerable)

Lehetővé teszi a lekérdezés párhuzamosítását.

AsQueryable(IEnumerable)

Átalakítja az egyiket IEnumerableIQueryable.

Cast<TResult>(IEnumerable)

Egy elem elemeit IEnumerable a megadott típusra veti.

OfType<TResult>(IEnumerable)

Egy adott típus alapján szűri IEnumerable egy adott elem elemeit.

A következőre érvényes:

Lásd még