TreeNodeBindingCollection Klass

Definition

Representerar en samling TreeNodeBinding objekt i TreeView kontrollen. Det går inte att ärva den här klassen.

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
Arv
TreeNodeBindingCollection

Exempel

Det här avsnittet innehåller två kodexempel. Det första kodexemplet visar hur du fyller i ett TreeNodeBindingCollection objekt deklarativt. Det andra kodexemplet visar hur du fyller i ett TreeNodeBindingCollection objekt programmatiskt.

Följande kodexempel visar hur du fyller i ett TreeNodeBindingCollection objekt deklarativt. För att det här exemplet ska fungera korrekt måste du kopiera XML-data som finns i slutet av det här avsnittet till en fil med namnet 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>

I följande kodexempel visas hur du fyller i ett TreeNodeBindingCollection objekt programmatiskt. För att det här exemplet ska fungera korrekt måste du kopiera xml-exempeldata som finns i slutet av det här avsnittet till en fil med namnet 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>

Följande är XML-data för föregående kodexempel.

<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>

Kommentarer

Klassen TreeNodeBindingCollection används för att lagra och hantera en samling TreeNodeBinding objekt i TreeView kontrollen. Kontrollen TreeView använder TreeNodeBindingCollection klassen för sin DataBindings egenskap.

Egenskapen DataBindings innehåller TreeNodeBinding objekt som definierar relationen mellan ett dataobjekt och den nod som den är bindning till. När du binder till en datakälla där varje dataobjekt innehåller flera egenskaper (till exempel ett XML-element med flera attribut) visar en nod det värde som returneras av ToString dataobjektets metod som standard. När det gäller ett XML-element visar noden elementnamnet, som visar trädets underliggande struktur men inte är särskilt användbart annars. Du kan binda en nod till en specifik dataobjektegenskap genom att ange trädnodbindningar. Även om samlingen kan fyllas programmatiskt anges den DataBindings vanligtvis deklarativt.

Så här anger du trädnodbindningarna deklarativt:

  1. Kapsla inledande och avslutande <DataBindings> taggar mellan kontrollens TreeView inledande och avslutande taggar.

  2. Placera <asp:TreeNodeBinding> element mellan de inledande och avslutande <DataBindings> taggarna för varje trädnodbindning som du vill ange.

Du kan programmatiskt hantera en TreeNodeBindingCollection genom att lägga till och ta bort TreeNodeBinding objekt. Om du vill lägga till ett TreeNodeBinding objekt i samlingen använder du Add metoden eller Insert . Om du vill ta bort noder från samlingen använder du Removemetoden , RemoveAteller StateManagedCollection.Clear .

Klassen TreeNodeBindingCollection har stöd för flera sätt att komma åt objekten i samlingen:

Egenskaper

Name Description
Count

Hämtar antalet element som finns i StateManagedCollection samlingen.

(Ärvd från StateManagedCollection)
Item[Int32]

Hämtar eller anger objektet TreeNodeBinding vid det angivna indexet TreeNodeBindingCollection i objektet.

Metoder

Name Description
Add(TreeNodeBinding)

Lägger till det angivna TreeNodeBinding objektet i slutet av TreeNodeBindingCollection objektet.

Clear()

Tar bort alla objekt från StateManagedCollection samlingen.

(Ärvd från StateManagedCollection)
Contains(TreeNodeBinding)

Avgör om det angivna TreeNodeBinding objektet finns i samlingen.

CopyTo(Array, Int32)

Kopierar elementen i StateManagedCollection samlingen till en matris med början vid ett visst matrisindex.

(Ärvd från StateManagedCollection)
CopyTo(TreeNodeBinding[], Int32)

Kopierar alla objekt från TreeNodeBindingCollection objektet till en kompatibel endimensionell matris med TreeNodeBinding objekt, med början vid det angivna indexet i målmatrisen.

CreateKnownType(Int32)

När den åsidosätts i en härledd klass skapar en instans av en klass som implementerar IStateManager. Typen av objekt som skapas baseras på den angivna medlemmen i samlingen som returneras av GetKnownTypes() metoden.

(Ärvd från StateManagedCollection)
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetEnumerator()

Returnerar en iterator som itererar genom StateManagedCollection samlingen.

(Ärvd från StateManagedCollection)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetKnownTypes()

När den åsidosätts i en härledd klass hämtar den en matris med IStateManager typer som StateManagedCollection samlingen kan innehålla.

(Ärvd från StateManagedCollection)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
IndexOf(TreeNodeBinding)

Avgör indexet för det angivna TreeNodeBinding objektet i samlingen.

Insert(Int32, TreeNodeBinding)

Infogar det angivna TreeNodeBinding objektet i TreeNodeBindingCollection objektet på den angivna indexplatsen.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
OnClear()

När du åsidosättas i en härledd klass utför du ytterligare arbete innan Clear() metoden tar bort alla objekt från samlingen.

(Ärvd från StateManagedCollection)
OnClearComplete()

När du åsidosättas i en härledd klass utför du ytterligare arbete när Clear() metoden har tagit bort alla objekt från samlingen.

(Ärvd från StateManagedCollection)
OnInsert(Int32, Object)

När du åsidosättas i en härledd klass utför du ytterligare arbete innan IList.Insert(Int32, Object) metoden eller IList.Add(Object) lägger till ett objekt i samlingen.

(Ärvd från StateManagedCollection)
OnInsertComplete(Int32, Object)

När du åsidosättas i en härledd klass utför du ytterligare arbete efter att IList.Insert(Int32, Object) metoden eller IList.Add(Object) lägger till ett objekt i samlingen.

(Ärvd från StateManagedCollection)
OnRemove(Int32, Object)

När det åsidosättas i en härledd klass utför du ytterligare arbete innan IList.Remove(Object) metoden eller IList.RemoveAt(Int32) tar bort det angivna objektet från samlingen.

(Ärvd från StateManagedCollection)
OnRemoveComplete(Int32, Object)

När det åsidosättas i en härledd klass utför du ytterligare arbete när IList.Remove(Object) metoden eller IList.RemoveAt(Int32) tar bort det angivna objektet från samlingen.

(Ärvd från StateManagedCollection)
OnValidate(Object)

När det åsidosättas i en härledd klass validerar ett element i StateManagedCollection samlingen.

(Ärvd från StateManagedCollection)
Remove(TreeNodeBinding)

Tar bort det angivna TreeNodeBinding objektet från objektet TreeNodeBindingCollection .

RemoveAt(Int32)

Tar bort objektet TreeNodeBinding på den angivna indexplatsen från objektet TreeNodeBindingCollection .

SetDirty()

Tvingar hela StateManagedCollection samlingen att serialiseras i visningstillstånd.

(Ärvd från StateManagedCollection)
SetDirtyObject(Object)

När den åsidosättas i en härledd klass instruerar den en object som ingår i samlingen att registrera hela dess tillstånd för att visa tillstånd, i stället för att endast registrera ändringsinformation.

(Ärvd från StateManagedCollection)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

Name Description
ICollection.Count

Hämtar antalet element som finns i StateManagedCollection samlingen.

(Ärvd från StateManagedCollection)
ICollection.IsSynchronized

Hämtar ett värde som anger om StateManagedCollection samlingen är synkroniserad (trådsäker). Den här metoden returnerar false i alla fall.

(Ärvd från StateManagedCollection)
ICollection.SyncRoot

Hämtar ett objekt som kan användas för att synkronisera åtkomsten StateManagedCollection till samlingen. Den här metoden returnerar null i alla fall.

(Ärvd från StateManagedCollection)
IEnumerable.GetEnumerator()

Returnerar en iterator som itererar genom StateManagedCollection samlingen.

(Ärvd från StateManagedCollection)
IList.Add(Object)

Lägger till ett objekt i StateManagedCollection samlingen.

(Ärvd från StateManagedCollection)
IList.Clear()

Tar bort alla objekt från StateManagedCollection samlingen.

(Ärvd från StateManagedCollection)
IList.Contains(Object)

Avgör om samlingen StateManagedCollection innehåller ett specifikt värde.

(Ärvd från StateManagedCollection)
IList.IndexOf(Object)

Avgör indexet för ett angivet objekt i StateManagedCollection samlingen.

(Ärvd från StateManagedCollection)
IList.Insert(Int32, Object)

Infogar ett objekt i StateManagedCollection samlingen vid det angivna indexet.

(Ärvd från StateManagedCollection)
IList.IsFixedSize

Hämtar ett värde som anger om StateManagedCollection samlingen har en fast storlek. Den här metoden returnerar false i alla fall.

(Ärvd från StateManagedCollection)
IList.IsReadOnly

Hämtar ett värde som anger om StateManagedCollection samlingen är skrivskyddad.

(Ärvd från StateManagedCollection)
IList.Item[Int32]

Hämtar elementet IStateManager vid det angivna indexet.

(Ärvd från StateManagedCollection)
IList.Remove(Object)

Tar bort den första förekomsten av det angivna objektet från StateManagedCollection samlingen.

(Ärvd från StateManagedCollection)
IList.RemoveAt(Int32)

Tar bort elementet IStateManager vid det angivna indexet.

(Ärvd från StateManagedCollection)
IStateManager.IsTrackingViewState

Hämtar ett värde som anger om StateManagedCollection samlingen sparar ändringar i visningstillståndet.

(Ärvd från StateManagedCollection)
IStateManager.LoadViewState(Object)

Återställer det tidigare sparade visningstillståndet för StateManagedCollection samlingen och de objekt som den IStateManager innehåller.

(Ärvd från StateManagedCollection)
IStateManager.SaveViewState()

Sparar ändringarna i StateManagedCollection samlingen och varje IStateManager objekt som den innehåller sedan den tid då sidan publicerades tillbaka till servern.

(Ärvd från StateManagedCollection)
IStateManager.TrackViewState()

Orsakar samlingen StateManagedCollection och vart och ett av de objekt som den IStateManager innehåller för att spåra ändringar i deras visningstillstånd så att de kan sparas mellan begäranden för samma sida.

(Ärvd från StateManagedCollection)

Tilläggsmetoder

Name Description
AsParallel(IEnumerable)

Möjliggör parallellisering av en fråga.

AsQueryable(IEnumerable)

Konverterar en IEnumerable till en IQueryable.

Cast<TResult>(IEnumerable)

Omvandlar elementen i en IEnumerable till den angivna typen.

OfType<TResult>(IEnumerable)

Filtrerar elementen i en IEnumerable baserat på en angiven typ.

Gäller för

Se även