Aracılığıyla paylaş


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 Açıklama
<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 TextTitle tüm düğümlerin ve Value özelliklerini sırasıyla veri kaynağındaki veri öğesinin Book ve ID alanlarına bağlar.
<asp:TreeNodeBinding Depth="2" TextField= "Title" ValueField= "ID"/> Ağaçta TextTitle 2 derinliği 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 TextTitle 2 derinliği 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üm üç kod örneği içerir. İlk kod örneği, düğüm ve veri öğesi arasındaki ilişkiyi tanımlamak için nesnelerin bildirim temelli olarak nasıl kullanılacağını TreeNodeBinding gösterir. İkinci kod örneği, bir düğüm ile 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 bildirim temelli 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.xmladlı 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, bir düğüm ile 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.xmladlı 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, bir düğüm varsayılan olarak veri öğesinin yöntemi tarafından ToString döndürülen değeri görüntüler. XML öğesi söz konusu olduğunda düğüm, ağacın temel 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 oluştururken TreeNodeBinding bağlama ölçütlerini belirtmeniz gerekir. Ölçüt, bir veri öğesinin düğüme ne zaman bağlanması gerektiğini gösterir. 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 NameText ve ID alanlarını sırasıyla 0 derinliğine sahip tüm düğümlerin ve Value özelliklerine bağlar:

<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 TreeNode nesnenin bir değere bağlanabilecek bir özelliğini bağlayabilirsiniz. Bir veri öğesinin alanına veya statik bir değere bağlayabilirsiniz. Statik bir değere bağlı olduğunda, nesnenin TreeNodeBinding uygulandığı tüm TreeNode nesneler aynı değeri paylaşır.

Uyarı

İlgili özelliği doğrudan düğümde ayarlayarak nesnedeki bir TreeNode 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.

Mülkiyet 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.

Mülkiyet 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ımlanmışsa, TreeView denetim ağaç düğümü bağlamalarını aşağıdaki öncelik sırasına göre uygular:

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

  2. Yalnızca TreeNodeBinding veri üyesini tanımlayan ve eşleşen 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 Text uygulandığı düğümlerin ve Value özelliklerine TreeNodeBinding bağlıdır.

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

Oluşturucular

Name Description
TreeNodeBinding()

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

Özellikler

Name Description
DataMember

Ağaç düğümü bağlamasının uygulanıp uygulanmayacağını belirlemek için bir veri öğesinin özelliğiyle eşleşecek Type değeri 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 Araç İpucu metnini alır veya ayarlar.

ImageToolTipField

Veri kaynağından, nesnenin uygulandığı nesnenin TreeNode özelliğine bağlamak için ImageToolTipTreeNodeBinding 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 TreeNode özelliğine bağlamak için ImageUrlTreeNodeBinding alanın adını alır veya ayarlar.

NavigateUrl

Nesnenin uygulandığı bir düğüme TreeNodeBinding tıklandığında url'yi bağlantı olarak alır veya ayarlar.

NavigateUrlField

Veri kaynağından, nesnenin uygulandığı nesnenin TreeNode özelliğine bağlamak için NavigateUrlTreeNodeBinding 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 yükseltilecek 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 TreeNode özelliğine bağlamak için TargetTreeNodeBinding 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 özelliğine bağlamak için TextTreeNodeBinding 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 özelliğine bağlamak için ToolTipTreeNodeBinding alanın adını alır veya ayarlar.

Value

Görüntülenmeyen ancak nesnenin uygulandığı 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 özelliğine bağlamak için ValueTreeNodeBinding alanın adını alır veya ayarlar.

Yöntemler

Name Description
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()

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

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

Geçerli Objectbasit bir kopyasını oluşturur.

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

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

Belirtik Arabirim Kullanımları

Name Description
ICloneable.Clone()

Nesnenin 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 önceden 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.