Bagikan melalui


TreeNodeBindingCollection Kelas

Definisi

Mewakili kumpulan TreeNodeBinding objek dalam TreeView kontrol. Kelas ini tidak dapat diwariskan.

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

Contoh

Bagian ini berisi dua contoh kode. Contoh kode pertama menunjukkan cara mengisi TreeNodeBindingCollection objek secara deklaratif. Contoh kode kedua menunjukkan cara mengisi TreeNodeBindingCollection objek secara terprogram.

Contoh kode berikut menunjukkan cara mengisi TreeNodeBindingCollection objek secara deklaratif. Agar contoh ini berfungsi dengan benar, Anda harus menyalin data XML yang terletak di akhir bagian ini ke file yang disebut 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 mengisi TreeNodeBindingCollection objek secara terprogram. Agar contoh ini berfungsi dengan benar, Anda harus menyalin data XML sampel yang terletak di akhir bagian ini ke file yang disebut 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>

Berikut ini adalah 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

Kelas TreeNodeBindingCollection ini digunakan untuk menyimpan dan mengelola kumpulan TreeNodeBinding objek dalam TreeView kontrol. Kontrol TreeView menggunakan TreeNodeBindingCollection kelas untuk propertinya DataBindings .

Properti DataBindings berisi TreeNodeBinding objek yang menentukan hubungan antara item data dan simpul yang mengikatnya. Saat mengikat ke sumber data di mana setiap item data berisi beberapa properti (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 simpul ke properti item data tertentu dengan menentukan pengikatan simpul pohon. DataBindings Meskipun koleksi dapat diisi secara terprogram, biasanya diatur secara deklaratif.

Untuk mengatur pengikatan simpul pohon secara deklaratif:

  1. Tag pembukaan dan penutupan <DataBindings> berlapis antara tag TreeView pembuka dan penutup kontrol.

  2. Tempatkan <asp:TreeNodeBinding> elemen antara tag pembuka dan penutup <DataBindings> untuk setiap pengikatan simpul pohon yang ingin Anda tentukan.

Anda dapat mengelola secara TreeNodeBindingCollection terprogram dengan menambahkan dan menghapus TreeNodeBinding objek. Untuk menambahkan TreeNodeBinding objek ke koleksi, gunakan Add metode atau Insert . Untuk menghapus simpul dari koleksi, gunakan Removemetode , RemoveAt, atau StateManagedCollection.Clear .

Kelas TreeNodeBindingCollection ini mendukung beberapa cara untuk mengakses item dalam koleksi:

Properti

Nama Deskripsi
Count

Mendapatkan jumlah elemen yang terkandung dalam StateManagedCollection koleksi.

(Diperoleh dari StateManagedCollection)
Item[Int32]

Mendapatkan atau mengatur TreeNodeBinding objek pada indeks yang ditentukan dalam TreeNodeBindingCollection objek.

Metode

Nama Deskripsi
Add(TreeNodeBinding)

Menambahkan objek yang ditentukan TreeNodeBinding ke akhir TreeNodeBindingCollection objek.

Clear()

Menghapus semua item dari StateManagedCollection koleksi.

(Diperoleh dari StateManagedCollection)
Contains(TreeNodeBinding)

Menentukan apakah objek yang ditentukan TreeNodeBinding ada dalam koleksi.

CopyTo(Array, Int32)

Menyalin elemen StateManagedCollection koleksi ke array, dimulai pada indeks array tertentu.

(Diperoleh dari StateManagedCollection)
CopyTo(TreeNodeBinding[], Int32)

Menyalin semua item dari TreeNodeBindingCollection objek ke array TreeNodeBinding objek satu dimensi yang kompatibel, dimulai dari indeks yang ditentukan dalam array target.

CreateKnownType(Int32)

Saat ditimpa dalam kelas turunan, membuat instans kelas yang mengimplementasikan IStateManager. Jenis objek yang dibuat didasarkan pada anggota koleksi yang ditentukan yang dikembalikan oleh GetKnownTypes() metode .

(Diperoleh dari StateManagedCollection)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetEnumerator()

Mengembalikan iterator yang berulang melalui StateManagedCollection koleksi.

(Diperoleh dari StateManagedCollection)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetKnownTypes()

Saat ditimpa dalam kelas turunan, mendapatkan array jenis IStateManager yang dapat dimuat StateManagedCollection koleksi.

(Diperoleh dari StateManagedCollection)
GetType()

Mendapatkan Type instans saat ini.

(Diperoleh dari Object)
IndexOf(TreeNodeBinding)

Menentukan indeks objek yang ditentukan TreeNodeBinding dalam koleksi.

Insert(Int32, TreeNodeBinding)

Menyisipkan objek yang ditentukan TreeNodeBinding ke TreeNodeBindingCollection dalam objek pada lokasi indeks yang ditentukan.

MemberwiseClone()

Membuat salinan dangkal dari Objectsaat ini.

(Diperoleh dari Object)
OnClear()

Saat ditimpa di kelas turunan, lakukan pekerjaan tambahan sebelum Clear() metode menghapus semua item dari koleksi.

(Diperoleh dari StateManagedCollection)
OnClearComplete()

Ketika ditimpa di kelas turunan, lakukan pekerjaan tambahan setelah Clear() metode selesai menghapus semua item dari koleksi.

(Diperoleh dari StateManagedCollection)
OnInsert(Int32, Object)

Saat ditimpa di kelas turunan, lakukan pekerjaan tambahan sebelum IList.Insert(Int32, Object) metode atau IList.Add(Object) menambahkan item ke koleksi.

(Diperoleh dari StateManagedCollection)
OnInsertComplete(Int32, Object)

Saat ditimpa di kelas turunan, melakukan pekerjaan tambahan setelah IList.Insert(Int32, Object) metode atau IList.Add(Object) menambahkan item ke koleksi.

(Diperoleh dari StateManagedCollection)
OnRemove(Int32, Object)

Saat ditimpa di kelas turunan, melakukan pekerjaan tambahan sebelum IList.Remove(Object) metode atau IList.RemoveAt(Int32) menghapus item yang ditentukan dari koleksi.

(Diperoleh dari StateManagedCollection)
OnRemoveComplete(Int32, Object)

Saat ditimpa di kelas turunan, melakukan pekerjaan tambahan setelah IList.Remove(Object) metode atau IList.RemoveAt(Int32) menghapus item yang ditentukan dari koleksi.

(Diperoleh dari StateManagedCollection)
OnValidate(Object)

Ketika ditimpa dalam kelas turunan, memvalidasi elemen StateManagedCollection koleksi.

(Diperoleh dari StateManagedCollection)
Remove(TreeNodeBinding)

Menghapus objek yang ditentukan TreeNodeBinding dari TreeNodeBindingCollection objek.

RemoveAt(Int32)

TreeNodeBinding Menghapus objek di lokasi indeks yang ditentukan dari TreeNodeBindingCollection objek.

SetDirty()

Memaksa seluruh StateManagedCollection koleksi untuk diserialisasikan ke dalam status tampilan.

(Diperoleh dari StateManagedCollection)
SetDirtyObject(Object)

Ketika ditimpa dalam kelas turunan, menginstruksikan yang object dimuat oleh koleksi untuk merekam seluruh statusnya untuk melihat status, daripada merekam hanya mengubah informasi.

(Diperoleh dari StateManagedCollection)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
ICollection.Count

Mendapatkan jumlah elemen yang terkandung dalam StateManagedCollection koleksi.

(Diperoleh dari StateManagedCollection)
ICollection.IsSynchronized

Mendapatkan nilai yang menunjukkan apakah koleksi disinkronkan StateManagedCollection (utas aman). Metode ini mengembalikan false dalam semua kasus.

(Diperoleh dari StateManagedCollection)
ICollection.SyncRoot

Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke StateManagedCollection koleksi. Metode ini mengembalikan null dalam semua kasus.

(Diperoleh dari StateManagedCollection)
IEnumerable.GetEnumerator()

Mengembalikan iterator yang berulang melalui StateManagedCollection koleksi.

(Diperoleh dari StateManagedCollection)
IList.Add(Object)

Menambahkan item ke StateManagedCollection koleksi.

(Diperoleh dari StateManagedCollection)
IList.Clear()

Menghapus semua item dari StateManagedCollection koleksi.

(Diperoleh dari StateManagedCollection)
IList.Contains(Object)

Menentukan apakah StateManagedCollection koleksi berisi nilai tertentu.

(Diperoleh dari StateManagedCollection)
IList.IndexOf(Object)

Menentukan indeks item yang ditentukan dalam StateManagedCollection koleksi.

(Diperoleh dari StateManagedCollection)
IList.Insert(Int32, Object)

Menyisipkan item ke StateManagedCollection dalam koleksi pada indeks yang ditentukan.

(Diperoleh dari StateManagedCollection)
IList.IsFixedSize

Mendapatkan nilai yang menunjukkan apakah StateManagedCollection koleksi memiliki ukuran tetap. Metode ini mengembalikan false dalam semua kasus.

(Diperoleh dari StateManagedCollection)
IList.IsReadOnly

Mendapatkan nilai yang menunjukkan apakah StateManagedCollection koleksi bersifat baca-saja.

(Diperoleh dari StateManagedCollection)
IList.Item[Int32]

IStateManager Mendapatkan elemen pada indeks yang ditentukan.

(Diperoleh dari StateManagedCollection)
IList.Remove(Object)

Menghapus kemunculan pertama objek yang ditentukan dari StateManagedCollection koleksi.

(Diperoleh dari StateManagedCollection)
IList.RemoveAt(Int32)

IStateManager Menghapus elemen pada indeks yang ditentukan.

(Diperoleh dari StateManagedCollection)
IStateManager.IsTrackingViewState

Mendapatkan nilai yang menunjukkan apakah StateManagedCollection koleksi menyimpan perubahan pada status tampilannya.

(Diperoleh dari StateManagedCollection)
IStateManager.LoadViewState(Object)

Memulihkan status tampilan koleksi yang StateManagedCollection disimpan sebelumnya dan item yang dikandungnya IStateManager .

(Diperoleh dari StateManagedCollection)
IStateManager.SaveViewState()

Menyimpan perubahan pada StateManagedCollection koleksi dan setiap IStateManager objek yang dikandungnya sejak halaman diposting kembali ke server.

(Diperoleh dari StateManagedCollection)
IStateManager.TrackViewState()

StateManagedCollection Menyebabkan koleksi dan setiap objek yang dikandungnya IStateManager untuk melacak perubahan pada status tampilannya sehingga dapat dipertahankan di seluruh permintaan untuk halaman yang sama.

(Diperoleh dari StateManagedCollection)

Metode Ekstensi

Nama Deskripsi
AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

IEnumerable Mengonversi ke IQueryable.

Cast<TResult>(IEnumerable)

Melemparkan elemen IEnumerable ke jenis yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis tertentu.

Berlaku untuk

Lihat juga