Bagikan melalui


TreeNodeBinding Kelas

Definisi

Menentukan hubungan antara item data dan simpul yang diikatnya dalam TreeView kontrol.

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
Warisan
TreeNodeBinding
Penerapan

Contoh

Tabel berikut ini memperlihatkan beberapa contoh deklarasi pengikatan simpul pohon.

Contoh pengikatan Deskripsi
<asp:TreeNodeBinding TextField="Title" ValueField= "ID"/> Mengikat Text properti dan Value dari semua simpul di pohon ke Title bidang dan ID sumber data. Semua simpul menggunakan deklarasi pengikatan simpul pohon ini karena DataMember properti dan Depth tidak diatur.
<asp:TreeNodeBinding DataMember= "Book" TextField= "Title" ValueField= "ID"/> Mengikat Text properti dan Value dari semua simpul di pohon ke Title bidang Book dan ID item data di sumber data.
<asp:TreeNodeBinding Depth="2" TextField= "Title" ValueField= "ID"/> Mengikat Text properti dan Value dari semua simpul dengan kedalaman 2 di pohon ke Title bidang dan ID item data di sumber data.
<asp:TreeNodeBinding DataMember="Book" Depth= "2" TextField= "Title" ValueField= "ID" ImageUrl= "Image.jpg"> Mengikat Text properti dan Value dari semua simpul dengan kedalaman 2 di pohon ke Title bidang Book dan ID item data di sumber data. Juga mengikat ImageUrl properti simpul ke nilai statis.

Bagian ini berisi tiga contoh kode. Contoh kode pertama menunjukkan cara menggunakan TreeNodeBinding objek secara deklaratif untuk menentukan hubungan antara node dan item data. Contoh kode kedua menunjukkan cara menggunakan TreeNodeBinding objek secara terprogram untuk menentukan hubungan antara node dan item data. Contoh kode ketiga menyediakan contoh data XML untuk contoh kode pertama dan kedua.

Contoh kode berikut menunjukkan cara menggunakan TreeNodeBinding objek secara deklaratif untuk menentukan hubungan antara node dan item data. Agar contoh ini berfungsi dengan benar, Anda harus menyalin data XML sampel, yang disediakan setelah contoh kode ini, ke file bernama 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>

Contoh kode berikut menunjukkan cara menggunakan TreeNodeBinding objek secara terprogram untuk menentukan hubungan antara node dan item data. Agar contoh ini berfungsi dengan benar, Anda harus menyalin data XML sampel yang disediakan dalam contoh kode berikutnya ke file bernama 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>

Contoh kode berikut menyediakan contoh data XML untuk contoh kode sebelumnya.

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

Keterangan

TreeView Saat kontrol terikat ke sumber data di mana setiap item data berisi beberapa bidang (seperti elemen XML dengan beberapa atribut), simpul menampilkan nilai yang dikembalikan oleh ToString metode item data, secara default. Dalam kasus elemen XML, simpul menampilkan nama elemen, yang menunjukkan struktur pohon yang mendasar, tetapi tidak terlalu berguna sebaliknya. Anda dapat mengikat properti simpul ke bidang tertentu dengan menentukan pengikatan simpul pohon. Objek TreeNodeBinding menentukan hubungan antara setiap item data dan simpul yang diikatnya.

TreeView Kontrol menyimpan objeknya TreeNodeBinding di DataBindings properti dan menerapkan pengikatan ke sumber data untuk membuat hubungan satu-ke-satu antara hierarki pohon dan hierarki sumber data. Untuk setiap item data di sumber data, TreeView kontrol mencoba mencocokkan item data dengan TreeNodeBinding objek untuk membuat objek yang TreeNode sesuai.

Saat membuat TreeNodeBinding objek, Anda harus menentukan kriteria untuk pengikatan. Kriteria menunjukkan kapan item data harus terikat ke simpul. Anda dapat menentukan Depth properti atau DataMember , atau kedua properti. Ada sedikit perolehan performa dengan menentukan keduanya. Kedalaman node menentukan tingkat simpul yang terikat. Misalnya, deklarasi berikut mengikat TreeNodeBindingName bidang dan ID sumber data ke Text properti dan Value , masing-masing, dari semua simpul dengan kedalaman 0:

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

Anggota data menentukan jenis item data di sumber data yang mendasar, tetapi dapat mewakili informasi yang berbeda tergantung pada sumber data. Setiap item data dalam sumber data hierarkis (diwakili oleh System.Web.UI.IHierarchyData antarmuka) mengekspos IHierarchyData.Type properti, yang menentukan jenis item data. Misalnya, anggota data untuk elemen XML menentukan nama elemen . Saat sumber data berisi beberapa jenis item data, anggota data menentukan jenis item data mana yang akan digunakan. Deklarasi berikut TreeNodeBinding mengikat <Book> elemen XmlDataSource kontrol ke semua simpul di pohon, terlepas dari lokasi dalam hierarki:

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

Setelah kriteria pengikatan ditetapkan, Anda kemudian dapat mengikat properti TreeNode objek yang dapat terikat ke nilai. Anda dapat mengikat ke bidang item data atau ke nilai statis. Saat terikat ke nilai statis, semua TreeNode objek tempat TreeNodeBinding objek diterapkan berbagi nilai yang sama.

Nota

Anda dapat secara selektif mengambil alih properti terikat dalam TreeNode objek dengan mengatur properti yang sesuai langsung di simpul.

Tabel berikut mencantumkan properti TreeNodeBinding kelas yang memungkinkan Anda mengikat properti TreeNode objek ke bidang item data.

Harta benda Deskripsi
ImageUrlField Bidang yang akan diikat ke ImageUrl properti TreeNode objek.
ImageToolTipField Bidang yang akan diikat ke ImageToolTip properti TreeNode objek.
NavigateUrlField Bidang yang akan diikat ke NavigateUrl properti TreeNode objek.
TextField Bidang yang akan diikat ke Text properti TreeNode objek.
ToolTipField Bidang yang akan diikat ke ToolTip properti TreeNode objek.
ValueField Bidang yang akan diikat ke Value properti TreeNode objek.

Tabel berikut mencantumkan properti TreeNodeBinding kelas yang memungkinkan Anda mengikat properti objek ke TreeNode nilai statis.

Harta benda Deskripsi
ImageUrl Nilai statis untuk mengikat properti ImageUrlTreeNode objek.
ImageToolTip Nilai statis untuk mengikat properti ImageToolTipTreeNode objek.
NavigateUrl Nilai statis untuk mengikat properti NavigateUrlTreeNode objek.
PopulateOnDemand Nilai statis untuk mengikat properti PopulateOnDemandTreeNode objek.
SelectAction Nilai statis untuk mengikat properti SelectActionTreeNode objek.
ShowCheckBox Nilai statis untuk mengikat properti ShowCheckBoxTreeNode objek.
Target Nilai statis untuk mengikat properti TargetTreeNode objek.
Text Nilai statis untuk mengikat properti TextTreeNode objek.
ToolTip Nilai statis untuk mengikat properti ToolTipTreeNode objek.
Value Nilai statis untuk mengikat properti ValueTreeNode objek.

Jika objek yang berkonflik TreeNodeBinding ditentukan, TreeView kontrol menerapkan pengikatan simpul pohon dalam urutan prioritas berikut:

  1. Objek TreeNodeBinding yang menentukan dan mencocokkan kedalaman dan anggota data.

  2. Objek TreeNodeBinding yang menentukan dan mencocokkan anggota data saja.

  3. Objek TreeNodeBinding yang menentukan dan mencocokkan kedalaman saja.

  4. Objek TreeNodeBinding yang mendefinisikan kedalaman atau anggota data. (Jenis pengikatan simpul pohon ini diterapkan ke semua simpul di pohon.)

  5. Objek TreeNodeBinding yang tidak memiliki kecocokan di sumber data. Dalam hal ini, nilai yang dikembalikan oleh ToString metode item data kemudian terikat ke Text properti dan Value simpul tempat TreeNodeBinding objek diterapkan.

Kelas ini TreeNodeBinding juga memungkinkan Anda memformat teks yang ditampilkan dalam simpul dengan mengatur FormatString properti .

Konstruktor

Nama Deskripsi
TreeNodeBinding()

Menginisialisasi instans baru dari kelas TreeNodeBinding.

Properti

Nama Deskripsi
DataMember

Mendapatkan atau mengatur nilai yang akan dicocokkan dengan Type properti untuk item data guna menentukan apakah akan menerapkan pengikatan simpul pohon.

Depth

Mendapatkan atau mengatur kedalaman simpul tempat TreeNodeBinding objek diterapkan.

FormatString

Mendapatkan atau mengatur string yang menentukan format tampilan untuk teks simpul tempat TreeNodeBinding objek diterapkan.

ImageToolTip

Mendapatkan atau mengatur teks TipsAlat untuk gambar yang ditampilkan di samping simpul tempat TreeNodeBinding objek diterapkan.

ImageToolTipField

Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti ImageToolTipTreeNode objek tempat TreeNodeBinding objek diterapkan.

ImageUrl

Mendapatkan atau mengatur URL ke gambar yang ditampilkan di samping simpul tempat TreeNodeBinding objek diterapkan.

ImageUrlField

Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti ImageUrlTreeNode objek tempat TreeNodeBinding objek diterapkan.

NavigateUrl

Mendapatkan atau mengatur URL yang akan ditautkan saat simpul tempat TreeNodeBinding objek diterapkan diklik.

NavigateUrlField

Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti NavigateUrlTreeNode objek tempat TreeNodeBinding objek diterapkan.

PopulateOnDemand

Mendapatkan atau menetapkan nilai yang menunjukkan apakah simpul tempat TreeNodeBinding objek diterapkan diisi secara dinamis.

SelectAction

Mendapatkan atau mengatur peristiwa atau peristiwa yang akan dinaikkan saat simpul tempat TreeNodeBinding objek diterapkan dipilih.

ShowCheckBox

Mendapatkan atau mengatur nilai yang menunjukkan apakah kotak centang ditampilkan di samping simpul tempat TreeNodeBinding objek diterapkan.

Target

Mendapatkan atau mengatur jendela target atau bingkai untuk menampilkan isi halaman Web yang terkait dengan simpul tempat TreeNodeBinding objek diterapkan.

TargetField

Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti TargetTreeNode objek tempat TreeNodeBinding objek diterapkan.

Text

Mendapatkan atau mengatur teks yang ditampilkan untuk simpul tempat TreeNodeBinding objek diterapkan.

TextField

Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti TextTreeNode objek tempat TreeNodeBinding objek diterapkan.

ToolTip

Mendapatkan atau mengatur teks TipsAlat untuk simpul tempat TreeNodeBinding objek diterapkan.

ToolTipField

Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti ToolTipTreeNode objek tempat TreeNodeBinding objek diterapkan.

Value

Mendapatkan atau mengatur nilai yang ditampilkan yang tidak ditampilkan tetapi digunakan untuk menyimpan data tambahan tentang simpul tempat objek diterapkan, seperti data yang TreeNodeBinding digunakan untuk menangani peristiwa postback.

ValueField

Mendapatkan atau mengatur nama bidang dari sumber data untuk mengikat properti ValueTreeNode objek tempat TreeNodeBinding objek diterapkan.

Metode

Nama Deskripsi
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
ToString()

Mengembalikan DataMember properti.

Implementasi Antarmuka Eksplisit

Nama Deskripsi
ICloneable.Clone()

Membuat salinan TreeNodeBinding objek.

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Untuk deskripsi anggota ini, lihat DataSourceViewSchema.

IStateManager.IsTrackingViewState

Untuk deskripsi anggota ini, lihat IsTrackingViewState.

IStateManager.LoadViewState(Object)

Memuat status tampilan yang disimpan sebelumnya untuk simpul.

IStateManager.SaveViewState()

Menyimpan perubahan status tampilan ke objek.

IStateManager.TrackViewState()

Menginstruksikan TreeNode objek untuk melacak perubahan pada status tampilannya.

Berlaku untuk

Lihat juga