TreeNodeBinding Sınıf

Tanım

Bir veri öğesi ile denetimde TreeView bağlandığı düğüm arasındaki ilişkiyi tanımlar.

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
Devralma
TreeNodeBinding
Uygulamalar

Örnekler

Aşağıdaki tabloda bazı örnek ağaç düğümü bağlama bildirimleri gösterilmektedir.

Örnek bağlama Description
<asp:TreeNodeBinding TextField="Title" ValueField= "ID"/> Ağaçtaki Text tüm düğümlerin ve Value özelliklerini sırasıyla veri kaynağının Title ve ID alanlarına bağlar. ve Depth özellikleri ayarlanmadığından tüm düğümler bu ağaç düğümü bağlama bildirimini DataMember kullanır.
<asp:TreeNodeBinding DataMember= "Book" TextField= "Title" ValueField= "ID"/> Ağaçtaki Text tüm düğümlerin ve Value özelliklerini sırasıyla veri kaynağındaki Title veri öğesinin Book ve ID alanlarına bağlar.
<asp:TreeNodeBinding Depth="2" TextField= "Title" ValueField= "ID"/> Ağaçta Text Title derinliği 2 olan tüm düğümlerin ve Value özelliklerini sırasıyla veri kaynağındaki veri öğesinin ve ID alanlarına bağlar.
<asp:TreeNodeBinding DataMember="Book" Depth= "2" TextField= "Title" ValueField= "ID" ImageUrl= "Image.jpg"> Ağaçta Text Title derinliği 2 olan tüm düğümlerin ve Value özelliklerini sırasıyla veri kaynağındaki veri öğesinin Book ve ID alanlarına bağlar. Ayrıca düğümlerin ImageUrl özelliğini statik bir değere bağlar.

Bu bölümde üç kod örneği bulunur. İlk kod örneği, düğüm ve veri öğesi arasındaki ilişkiyi tanımlamak için nesnelerin bildirimli olarak nasıl kullanılacağını TreeNodeBinding gösterir. İkinci kod örneği, düğüm ve veri öğesi arasındaki ilişkiyi tanımlamak için nesnelerin program aracılığıyla nasıl kullanılacağını TreeNodeBinding gösterir. Üçüncü kod örneği, birinci ve ikinci kod örnekleri için örnek XML verileri sağlar.

Aşağıdaki kod örneği, düğüm ve veri öğesi arasındaki ilişkiyi tanımlamak için nesnelerin bildirimli olarak nasıl kullanılacağını TreeNodeBinding gösterir. Bu örneğin doğru çalışması için, bu kod örneğinden sonra sağlanan örnek XML verilerini Book.xml adlı bir dosyaya kopyalamanız gerekir.


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

Aşağıdaki kod örneği, düğüm ve veri öğesi arasındaki ilişkiyi tanımlamak için nesnelerin program aracılığıyla nasıl kullanılacağını TreeNodeBinding gösterir. Bu örneğin doğru çalışması için sonraki kod örneğinde sağlanan örnek XML verilerini Book.xml adlı bir dosyaya kopyalamanız gerekir.


<%@ 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şağıdaki kod örneği, önceki kod örnekleri için örnek XML verileri sağlar.

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

Açıklamalar

Denetim, her veri öğesinin TreeView birden çok alan (çeşitli özniteliklere sahip bir XML öğesi gibi) içerdiği bir veri kaynağına bağlı olduğunda, düğüm varsayılan olarak veri öğesinin yöntemi tarafından ToString döndürülen değeri görüntüler. BIR XML öğesi söz konusu olduğunda düğüm, ağacın temel alınan yapısını gösteren öğe adını görüntüler, ancak aksi takdirde çok kullanışlı değildir. Ağaç düğümü bağlamaları belirterek düğümün özelliklerini belirli bir alana bağlayabilirsiniz. Nesne TreeNodeBinding , her veri öğesiyle bağlandığı düğüm arasındaki ilişkiyi tanımlar.

DenetimTreeView, nesnelerini özelliğinde DataBindings depolar TreeNodeBinding ve ağaç hiyerarşisi ile veri kaynağı hiyerarşisi arasında bire bir ilişki oluşturmak için bağlamaları veri kaynağına uygular. Veri kaynağındaki her veri öğesi için denetim, TreeView ilgili TreeNode nesneyi oluşturmak için veri öğesini bir TreeNodeBinding nesneyle eşleştirmeyi dener.

Nesne TreeNodeBinding oluştururken bağlama ölçütlerini belirtmeniz gerekir. Ölçütler, bir veri öğesinin düğüme ne zaman bağlanması gerektiğini belirtir. veya DataMember özelliğini veya her iki özelliği de belirtebilirsinizDepth. Her ikisini de belirterek hafif bir performans kazancı elde edilir. Düğüm derinliği, bağlanan düğüm düzeyini belirtir. Örneğin, aşağıdaki TreeNodeBinding bildirim veri kaynağının ve ID alanlarını sırasıyla 0 derinliğine Text sahip tüm düğümlerin ve Value özelliklerine bağlarName:

<asp:TreeNodeBinding Depth="0" TextField="Name" ValueField="ID">  

Veri üyesi, temel alınan veri kaynağındaki veri öğesinin türünü belirtir, ancak veri kaynağına bağlı olarak farklı bilgileri temsil edebilir. Hiyerarşik veri kaynağındaki (arabirimle System.Web.UI.IHierarchyData temsil edilen) her veri öğesi, veri öğesinin türünü belirten bir IHierarchyData.Type özelliği kullanıma sunar. Örneğin, bir XML öğesinin veri üyesi öğenin adını belirtir. Bir veri kaynağı birden çok veri öğesi türü içerdiğinde, veri üyesi hangi veri öğesi türünün kullanılacağını belirtir. Aşağıdaki TreeNodeBinding bildirim, hiyerarşideki <Book> konumdan bağımsız olarak bir XmlDataSource denetimin öğelerini ağaçtaki tüm düğümlere bağlar:

<asp:TreeNodeBinding DataMember="Book" TextField="Title" ValueField= "ISBN">  

Bağlama ölçütleri oluşturulduktan sonra, bir değere bağlanabilen bir TreeNode nesnenin özelliğini bağlayabilirsiniz. Bir veri öğesinin alanına veya statik bir değere bağlayabilirsiniz. Statik bir değere bağlanıldığında, nesnenin TreeNodeBinding uygulandığı tüm TreeNode nesneler aynı değeri paylaşır.

Not

İlgili özelliği doğrudan düğümde ayarlayarak bir TreeNode nesnedeki ilişkili özelliği seçmeli olarak geçersiz kılabilirsiniz.

Aşağıdaki tabloda, nesnesinin TreeNodeBinding bir özelliğini TreeNode bir veri öğesinin alanına bağlamanıza olanak sağlayan sınıfın özellikleri listelenir.

Özellik Açıklama
ImageUrlField Bir nesnenin ImageUrl özelliğine TreeNode bağlanacak alan.
ImageToolTipField Bir nesnenin ImageToolTip özelliğine TreeNode bağlanacak alan.
NavigateUrlField Bir nesnenin NavigateUrl özelliğine TreeNode bağlanacak alan.
TextField Bir nesnenin Text özelliğine TreeNode bağlanacak alan.
ToolTipField Bir nesnenin ToolTip özelliğine TreeNode bağlanacak alan.
ValueField Bir nesnenin Value özelliğine TreeNode bağlanacak alan.

Aşağıdaki tabloda, nesnesinin TreeNodeBinding bir özelliğini statik bir değere bağlamanıza olanak sağlayan sınıfın TreeNode özellikleri listelenir.

Özellik Açıklama
ImageUrl Bir nesnenin ImageUrl özelliğine TreeNode bağlanacak statik değer.
ImageToolTip Bir nesnenin ImageToolTip özelliğine TreeNode bağlanacak statik değer.
NavigateUrl Bir nesnenin NavigateUrl özelliğine TreeNode bağlanacak statik değer.
PopulateOnDemand Bir nesnenin PopulateOnDemand özelliğine TreeNode bağlanacak statik değer.
SelectAction Bir nesnenin SelectAction özelliğine TreeNode bağlanacak statik değer.
ShowCheckBox Bir nesnenin ShowCheckBox özelliğine TreeNode bağlanacak statik değer.
Target Bir nesnenin Target özelliğine TreeNode bağlanacak statik değer.
Text Bir nesnenin Text özelliğine TreeNode bağlanacak statik değer.
ToolTip Bir nesnenin ToolTip özelliğine TreeNode bağlanacak statik değer.
Value Bir nesnenin Value özelliğine TreeNode bağlanacak statik değer.

Çakışan TreeNodeBinding nesneler tanımlanırsa, TreeView denetim ağaç düğümü bağlamalarını aşağıdaki öncelik sırasına göre uygular:

  1. Hem TreeNodeBinding derinliği hem de veri üyesini tanımlayan ve eşleştiren nesne.

  2. Yalnızca TreeNodeBinding veri üyesini tanımlayan ve eşleştiren nesne.

  3. Yalnızca TreeNodeBinding derinliği tanımlayan ve eşleşen nesne.

  4. Derinliği TreeNodeBinding veya veri üyesini tanımlayan nesne. (Bu tür bir ağaç düğümü bağlaması, ağaçtaki tüm düğümlere uygulanır.)

  5. TreeNodeBinding Veri kaynağında eşleşmesi olmayan nesne. Bu durumda, veri öğesinin yöntemi tarafından ToString döndürülen değer, nesnenin uygulandığı düğümlerin ve Value özelliklerine TreeNodeBinding bağlanırText.

sınıfı, TreeNodeBinding özelliğini ayarlayarak FormatString bir düğümde görüntülenen metni biçimlendirmenize de olanak tanır.

Oluşturucular

TreeNodeBinding()

TreeNodeBinding sınıfının yeni bir örneğini başlatır.

Özellikler

DataMember

Ağaç düğümü bağlamasının uygulanıp uygulanmayacağını belirlemek için değeri bir veri öğesinin özelliğiyle eşleşecek Type şekilde alır veya ayarlar.

Depth

Nesnenin uygulandığı düğüm derinliğini TreeNodeBinding alır veya ayarlar.

FormatString

Nesnenin uygulandığı düğümün metni için görüntüleme biçimini belirten dizeyi TreeNodeBinding alır veya ayarlar.

ImageToolTip

Nesnenin uygulandığı düğümün TreeNodeBinding yanında görüntülenen görüntünün ToolTip metnini alır veya ayarlar.

ImageToolTipField

Veri kaynağından nesnenin uygulandığı nesnenin TreeNodeBinding özelliğine TreeNode bağlanacak ImageToolTip alanın adını alır veya ayarlar.

ImageUrl

Nesnenin uygulandığı düğümün yanında görüntülenen görüntünün URL'sini TreeNodeBinding alır veya ayarlar.

ImageUrlField

Veri kaynağından nesnenin uygulandığı nesnenin TreeNodeBinding özelliğine TreeNode bağlanacak ImageUrl alanın adını alır veya ayarlar.

NavigateUrl

Nesnenin uygulandığı bir düğüme tıklandığında bağlanılacak URL'yi TreeNodeBinding alır veya ayarlar.

NavigateUrlField

Veri kaynağından nesnenin uygulandığı nesnenin TreeNodeBinding özelliğine TreeNode bağlanacak NavigateUrl alanın adını alır veya ayarlar.

PopulateOnDemand

Nesnenin uygulandığı düğümün TreeNodeBinding dinamik olarak doldurulup doldurulmadığını belirten bir değer alır veya ayarlar.

SelectAction

Nesnenin uygulandığı bir düğüm TreeNodeBinding seçildiğinde tetiklenen olayı veya olayları alır veya ayarlar.

ShowCheckBox

Nesnenin uygulandığı düğümün yanında onay kutusunun görüntülenip görüntülenmeyeceğini TreeNodeBinding belirten bir değer alır veya ayarlar.

Target

Nesnenin uygulandığı bir düğümle ilişkili Web sayfası içeriğinin görüntüleneceği hedef pencereyi veya çerçeveyi TreeNodeBinding alır veya ayarlar.

TargetField

Veri kaynağından nesnenin uygulandığı nesnenin TreeNodeBinding özelliğine TreeNode bağlanacak Target alanın adını alır veya ayarlar.

Text

Nesnenin uygulandığı düğüm TreeNodeBinding için görüntülenen metni alır veya ayarlar.

TextField

Veri kaynağından nesnenin uygulandığı nesnenin TreeNode TreeNodeBinding özelliğine Text bağlanacak alanın adını alır veya ayarlar.

ToolTip

Nesnenin uygulandığı düğüm TreeNodeBinding için Araç İpucu metnini alır veya ayarlar.

ToolTipField

Veri kaynağından nesnenin uygulandığı nesnenin TreeNode TreeNodeBinding özelliğine ToolTip bağlanacak alanın adını alır veya ayarlar.

Value

Görüntülenmeyen ancak nesnenin uygulandığı bir düğüm hakkında geri gönderme olaylarını işlemek için kullanılan veriler gibi ek verileri depolamak TreeNodeBinding için kullanılan bir görüntülenen değeri alır veya ayarlar.

ValueField

Veri kaynağından nesnenin uygulandığı nesnenin TreeNode TreeNodeBinding özelliğine Value bağlanacak alanın adını alır veya ayarlar.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

DataMember özelliğini döndürür.

Belirtik Arabirim Kullanımları

ICloneable.Clone()

Nesnesinin bir kopyasını TreeNodeBinding oluşturur.

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Bu üyenin açıklaması için bkz DataSourceViewSchema. .

IStateManager.IsTrackingViewState

Bu üyenin açıklaması için bkz IsTrackingViewState. .

IStateManager.LoadViewState(Object)

Düğüm için daha önce kaydedilmiş görünüm durumunu yükler.

IStateManager.SaveViewState()

Görünüm durumu değişikliklerini bir nesneye kaydeder.

IStateManager.TrackViewState()

Nesneye görünüm durumundaki TreeNode değişiklikleri izlemesini bildirir.

Şunlara uygulanır

Ayrıca bkz.