TreeNode Kelas

Definisi

Mewakili simpul dalam TreeView kontrol.

public ref class TreeNode : ICloneable, System::Web::UI::IStateManager
public class TreeNode : ICloneable, System.Web.UI.IStateManager
type TreeNode = class
    interface IStateManager
    interface ICloneable
Public Class TreeNode
Implements ICloneable, IStateManager
Warisan
TreeNode
Penerapan

Contoh

Contoh kode berikut menunjukkan cara menyiapkan bingkai untuk contoh kode berikutnya.


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>TreeView Frameset Example</title>
</head>
         
    <frameset cols="30%, 75%">
   
        <frame title="MenuFrame" name="Menu" src="TreeViewFramecs.aspx"/>
        <frame title="ContentFrame" name="Content" src="Home.aspx"/> 
           
    </frameset>      
   
</html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>TreeView Frameset Example</title>
</head>
         
    <frameset cols="30%, 75%">
   
        <frame title="MenuFrame" name="Menu" src="TreeViewFramevb.aspx"/>
        <frame title="ContentFrame" name="Content" src="Home.aspx"/> 
           
    </frameset>      
   
</html>

Contoh kode berikut menunjukkan cara menggunakan sintaks deklaratif untuk membuat TreeNode objek dalam TreeView kontrol. Contoh ini digunakan dalam frameset contoh sebelumnya untuk menampilkan daftar isi.


<%@ 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 Declarative Syntax Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView Declarative Syntax Example</h3>
      
      <asp:TreeView id="SampleTreeView" 
        runat="server">
         
        <Nodes>
        
          <asp:TreeNode Value="Home" 
            NavigateUrl="Home.aspx" 
            Text="Home"
            Target="Content" 
            Expanded="True">
             
            <asp:TreeNode Value="Page 1" 
              NavigateUrl="Page1.aspx" 
              Text="Page1"
              Target="Content">
               
              <asp:TreeNode Value="Section 1" 
                NavigateUrl="Section1.aspx" 
                Text="Section 1"
                Target="Content"/>
                 
            </asp:TreeNode>              
            
            <asp:TreeNode Value="Page 2" 
              NavigateUrl="Page2.aspx"
              Text="Page 2"
              Target="Content">
               
            </asp:TreeNode> 
            
          </asp:TreeNode>
        
        </Nodes>
        
      </asp:TreeView>

    </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 Declarative Syntax Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView Declarative Syntax Example</h3>
      
      <asp:TreeView id="SampleTreeView" 
        runat="server">
         
        <Nodes>
        
          <asp:TreeNode Value="Home" 
            NavigateUrl="Home.aspx" 
            Text="Home"
            Target="Content" 
            Expanded="True">
             
            <asp:TreeNode Value="Page 1" 
              NavigateUrl="Page1.aspx" 
              Text="Page1"
              Target="Content">
               
              <asp:TreeNode Value="Section 1" 
                NavigateUrl="Section1.aspx" 
                Text="Section 1"
                Target="Content"/>
                 
            </asp:TreeNode>              
            
            <asp:TreeNode Value="Page 2" 
              NavigateUrl="Page2.aspx"
              Text="Page 2"
              Target="Content">
               
            </asp:TreeNode> 
            
          </asp:TreeNode>
        
        </Nodes>
        
      </asp:TreeView>

    </form>
  </body>
</html>

Keterangan

Kontrol TreeView terdiri dari simpul. Setiap entri di pohon disebut simpul dan diwakili oleh TreeNode objek. Simpul yang berisi simpul lain disebut simpul induk. Simpul yang terkandung oleh simpul lain disebut simpul anak. Simpul yang tidak memiliki simpul anak disebut simpul daun. Simpul yang tidak terkandung oleh simpul lain tetapi merupakan leluhur untuk semua simpul lain adalah simpul akar. Simpul dapat menjadi induk dan anak, tetapi simpul root, induk, dan daun saling eksklusif. Beberapa properti visual dan perilaku simpul ditentukan oleh apakah simpul adalah node akar, induk, atau daun .

Meskipun pohon biasa hanya memiliki satu simpul akar, TreeView kontrol memungkinkan Anda untuk menambahkan beberapa simpul akar ke struktur pohon Anda. Ini berguna ketika Anda ingin menampilkan daftar item tanpa menampilkan satu simpul akar utama, seperti dalam daftar kategori produk.

Simpul terutama menyimpan data dalam dua properti, Text properti dan Value properti . Nilai Text properti ditampilkan dalam TreeView kontrol, dan Value properti digunakan untuk menyimpan data tambahan tentang simpul, seperti data yang digunakan untuk menangani peristiwa postback. Simpul juga menyimpan jalur dari simpul ke simpul akarnya di ValuePath properti . Properti ValuePath menunjukkan posisi simpul relatif terhadap simpul akar.

Catatan

Simpul pada tingkat yang sama masing-masing harus memiliki nilai unik untuk Value properti; TreeView kontrol tidak dapat membedakan antara simpul yang berbeda pada tingkat yang sama yang memiliki nilai yang sama. Dalam skenario ini, jika pengguna mengklik simpul yang memiliki nilai duplikat, simpul yang muncul terlebih dahulu dalam TreeView kontrol dipilih.

Objek TreeNode terdiri dari empat elemen antarmuka pengguna (UI) berikut, yang dapat disesuaikan atau disembunyikan:

  • Ikon indikator simpul ekspansi yang digunakan untuk menunjukkan apakah simpul diperluas, diciutkan, atau tidak dapat diperluas.

  • Kotak centang opsional yang terkait dengan simpul.

  • Gambar simpul opsional.

  • Teks simpul.

Anda dapat menentukan gambar kustom untuk indikator simpul yang dapat diperluas, dapat diciutkan, dan tidak dapat diperluas dengan mengatur ExpandImageUrlproperti , CollapseImageUrl, dan kelas .TreeViewNoExpandImageUrl Ikon indikator simpul ekspansi bahkan dapat disembunyikan sepenuhnya dengan mengatur ShowExpandCollapse properti kelas ke TreeViewfalse.

Untuk menampilkan kotak centang di samping simpul, atur ShowCheckBoxes properti TreeView kelas. ShowCheckBoxes Saat properti diatur ke nilai selain TreeNodeType.Node, kotak centang ditampilkan di samping jenis simpul yang ditentukan. Anda dapat secara selektif mengambil alih kotak centang dari simpul individual dengan mengatur properti simpul ShowCheckBox . Saat kotak centang ditampilkan, gunakan Checked properti untuk menentukan apakah kotak centang dipilih.

Anda dapat menampilkan gambar dalam simpul dengan mengatur ImageUrl properti . Gambar ini ditampilkan di samping teks simpul.

Teks simpul dalam TreeView kontrol dapat berada di salah satu dari dua mode: mode pemilihan atau mode navigasi. Secara default, simpul berada dalam mode pilihan. Untuk memasukkan simpul ke mode navigasi, atur properti simpul NavigateUrl ke nilai selain string kosong (""). Untuk memasukkan simpul ke dalam mode pilihan, atur properti simpul NavigateUrl ke string kosong.

Catatan

Beberapa browser Internet memiliki batasan yang dapat memengaruhi performa TreeView kontrol. Misalnya, Microsoft Internet Explorer 6.0 memiliki batas karakter URL 2067 karakter yang dipostingnya. Jika jumlah karakter dalam URL simpul lebih besar dari angka tersebut, memperluas simpul tersebut akan gagal dan tidak ada pengecualian yang dilemparkan.

Secara default, mengklik simpul yang berada dalam mode pilihan memposting halaman kembali ke server dan menaikkan SelectedNodeChanged peristiwa. Anda dapat secara opsional menentukan peristiwa lain untuk dinaikkan dengan mengatur properti simpul SelectAction . Untuk informasi selengkapnya, lihat SelectAction. Untuk menentukan simpul mana yang diklik dalam mode pilihan, gunakan SelectedNode properti TreeView kontrol.

Saat simpul berada dalam mode navigasi, semua peristiwa pemilihan dinonaktifkan untuk simpul tersebut. Mengklik simpul dalam mode navigasi mengarahkan pengguna ke URL yang ditentukan. Anda dapat secara opsional mengatur Target properti untuk menentukan jendela atau bingkai untuk menampilkan konten yang ditautkan.

Kelas TreeNode berisi beberapa properti yang digunakan untuk menyimpan status simpul. Selected Gunakan properti untuk menentukan apakah simpul dipilih. Untuk menentukan apakah simpul diperluas, gunakan Expanded properti . Properti DataBound digunakan untuk menentukan apakah simpul terikat ke data. Saat simpul terikat ke data, Anda dapat mengakses item data yang mendasar dengan menggunakan DataItem properti .

Kelas menyediakan beberapa properti yang membantu menentukan posisi simpul yang relatif terhadap simpul lain di pohon. Depth Gunakan properti untuk menentukan kedalaman simpul. Anda bisa mendapatkan daftar simpul yang dibatasi dari simpul saat ini ke simpul akarnya dengan menggunakan ValuePath properti . Untuk menentukan simpul induk simpul, gunakan Parent properti . Simpul anak diakses menggunakan ChildNodes koleksi .

Terkadang, tidak praktis untuk menentukan struktur pohon secara statis karena ukuran data atau konten kustom yang tergantung pada input pengguna. Karena itu, TreeView kontrol mendukung populasi simpul dinamis. Simpul dapat diisi pada durasi saat diperluas. Perhatikan bahwa Anda bisa mendapatkan perilaku tak terduga jika Anda mempertahankan simpul yang dibuat secara asinkron. Misalnya, jika Anda menggunakan utas pekerja latar belakang untuk mengisi simpul secara asinkron, pohon simpul mungkin tidak segera diisi meskipun kontrol berlanjut dengan sisa siklus hidup halaman. Pada postback, pembuatan simpul yang tertunda dapat menyebabkan masalah ketika status tampilan kontrol dimuat tetapi pohon simpul tidak sepenuhnya terisi. Untuk informasi selengkapnya tentang populasi simpul dinamis, lihat PopulateOnDemand properti .

Untuk daftar nilai properti awal untuk instans TreeNode, lihat TreeNode konstruktor.

Konstruktor

TreeNode()

Menginisialisasi instans TreeNode baru kelas tanpa teks atau nilai.

TreeNode(String)

Menginisialisasi instans TreeNode baru kelas menggunakan teks yang ditentukan.

TreeNode(String, String)

Menginisialisasi instans TreeNode baru kelas menggunakan teks dan nilai yang ditentukan.

TreeNode(String, String, String)

Menginisialisasi instans TreeNode baru kelas menggunakan TEKS, nilai, dan URL gambar yang ditentukan.

TreeNode(String, String, String, String, String)

Menginisialisasi instans TreeNode baru kelas menggunakan teks, nilai, URL gambar, URL navigasi, dan target yang ditentukan.

TreeNode(TreeView, Boolean)

Menginisialisasi instans TreeNode baru kelas menggunakan pemilik yang ditentukan.

Properti

Checked

Mendapatkan atau mengatur nilai yang menunjukkan apakah kotak centang simpul dipilih.

ChildNodes

TreeNodeCollection Mendapatkan koleksi yang berisi simpul anak tingkat pertama dari simpul saat ini.

DataBound

Mendapatkan nilai yang menunjukkan apakah simpul dibuat melalui pengikatan data.

DataItem

Mendapatkan item data yang terikat ke kontrol.

DataPath

Mendapatkan jalur ke data yang terikat ke simpul.

Depth

Mendapatkan kedalaman simpul.

Expanded

Mendapatkan atau menetapkan nilai yang menunjukkan apakah simpul diperluas.

ImageToolTip

Mendapatkan atau mengatur teks TipsAlat untuk gambar yang ditampilkan di samping simpul.

ImageUrl

Mendapatkan atau mengatur URL ke gambar yang ditampilkan di samping simpul.

IsTrackingViewState

Mendapatkan nilai yang menunjukkan apakah simpul menyimpan perubahan pada status tampilannya.

NavigateUrl

Mendapatkan atau mengatur URL yang akan dinavigasi saat simpul diklik.

Parent

Mendapatkan simpul induk dari simpul saat ini.

PopulateOnDemand

Mendapatkan atau menetapkan nilai yang menunjukkan apakah simpul diisi secara dinamis.

SelectAction

Mendapatkan atau mengatur peristiwa atau peristiwa yang akan dinaikkan saat simpul dipilih.

Selected

Mendapatkan atau menetapkan nilai yang menunjukkan apakah simpul dipilih.

ShowCheckBox

Mendapatkan atau mengatur nilai yang menunjukkan apakah kotak centang ditampilkan di samping simpul.

Target

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

Text

Mendapatkan atau mengatur teks yang ditampilkan untuk simpul dalam TreeView kontrol.

ToolTip

Mendapatkan atau mengatur teks TipsAlat untuk simpul.

Value

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

ValuePath

Mendapatkan jalur dari simpul akar ke simpul saat ini.

Metode

Clone()

Membuat instans TreeNode baru kelas dengan properti instans saat ini TreeNode .

Collapse()

Menciutkan simpul pohon saat ini.

CollapseAll()

Ciutkan simpul saat ini dan semua simpul anaknya.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Expand()

Memperluas simpul pohon saat ini.

ExpandAll()

Memperluas simpul saat ini dan semua simpul turunannya.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
LoadViewState(Object)

Memuat status tampilan simpul yang disimpan sebelumnya.

MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
RenderPostText(HtmlTextWriter)

Memungkinkan pengembang kontrol untuk menambahkan penyajian tambahan ke simpul.

RenderPreText(HtmlTextWriter)

Memungkinkan pengembang kontrol untuk menambahkan penyajian tambahan ke simpul.

SaveViewState()

Menyimpan status tampilan simpul saat ini.

Select()

Memilih simpul saat ini dalam TreeView kontrol.

ToggleExpandState()

Bergantian antara status simpul yang diperluas dan diciutkan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
TrackViewState()

Menandai titik awal untuk mulai melacak dan menyimpan perubahan status tampilan ke simpul.

Implementasi Antarmuka Eksplisit

ICloneable.Clone()

Membuat salinan TreeNode objek.

IStateManager.IsTrackingViewState

Untuk deskripsi anggota ini, lihat IsTrackingViewState.

IStateManager.LoadViewState(Object)

Memuat status tampilan simpul yang sebelumnya disimpan.

IStateManager.SaveViewState()

Menyimpan perubahan status tampilan ke Object.

IStateManager.TrackViewState()

Menginstruksikan TreeNode objek untuk melacak perubahan pada status tampilannya.

Berlaku untuk

Lihat juga