Aracılığıyla paylaş


TreeNode Sınıf

Tanım

Denetimdeki TreeView bir düğümü temsil eder.

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

Örnekler

Aşağıdaki kod örneğinde, sonraki kod örneği için çerçevelerin nasıl ayarlanacağı gösterilmektedir.


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

Aşağıdaki kod örneği, denetimde nesne oluşturmak TreeNode için bildirim temelli söz diziminin TreeView nasıl kullanılacağını gösterir. Bu örnek, içindekiler tablosunu görüntülemek için önceki örneğin çerçeve kümesi içinde kullanılır.


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

Açıklamalar

Denetim TreeView düğümlerden oluşur. Ağaçtaki her girdi düğüm olarak adlandırılır ve bir TreeNode nesneyle temsil edilir. Diğer düğümleri içeren bir düğüme üst düğüm adı verilir. Başka bir düğümün içerdiği düğüme alt düğüm adı verilir. Alt düğümü olmayan bir düğüme yaprak düğüm adı verilir. Başka bir düğüm tarafından kapsanmayan ancak diğer tüm düğümlerin atası olan bir düğüm kök düğümdür. Düğüm hem üst hem de alt düğüm olabilir, ancak kök, üst ve yaprak düğümler birbirini dışlar. Düğümlerin çeşitli görsel ve davranış özellikleri, düğümün kök, üst veya yaprak düğüm olup olmadığına göre belirlenir.

Tipik bir ağacın yalnızca bir kök düğümü olsa da, TreeView denetim ağaç yapınıza birden çok kök düğüm eklemenize olanak tanır. Bu, ürün kategorileri listesinde olduğu gibi tek bir ana kök düğüm görüntülemeden öğe listelerini görüntülemek istediğinizde kullanışlıdır.

Düğüm öncelikli olarak verileri özelliği ve özelliği olmak üzere Text iki özellikte depolar Value . özelliğinin Text değeri denetimde TreeView görüntülenir ve Value özellik, geri gönderme olaylarını işlemek için kullanılan veriler gibi düğümle ilgili ek verileri depolamak için kullanılır. Düğüm ayrıca düğümden kök düğümüne giden yolu özelliğinde ValuePath depolar. ValuePath özelliği, düğümün kök düğüme göre konumunu gösterir.

Uyarı

Aynı düzeydeki düğümlerin her birinin özelliği için Value benzersiz bir değeri olmalıdır; TreeView denetim aynı değere sahip aynı düzeydeki farklı düğümleri ayırt edemez. Bu senaryoda, kullanıcı yinelenen değeri olan bir düğüme tıklarsa, denetimde TreeView ilk olarak görünen düğüm seçilir.

Bir TreeNode nesne, özelleştirilebilen veya gizlenebilen aşağıdaki dört kullanıcı arabirimi (UI) öğesinden oluşur:

  • Düğümün genişletilebilir mi, daraltılmış mı yoksa genişletilemez mi olduğunu göstermek için kullanılan genişletme düğümü göstergesi simgesi.

  • Düğümle ilişkilendirilmiş isteğe bağlı bir onay kutusu.

  • İsteğe bağlı bir düğüm görüntüsü.

  • Düğüm metni.

Sınıfının , CollapseImageUrlve NoExpandImageUrl özelliklerini TreeView ayarlayarak ExpandImageUrlgenişletilebilir, daraltılabilir ve genişletilemeyen düğüm göstergeleri için özel bir görüntü belirtebilirsiniz. Genişletme düğümü gösterge simgeleri, sınıfının falseözelliği olarak ayarlanarak ShowExpandCollapse tamamen gizlenebilirTreeView.

Düğümün yanında bir onay kutusu görüntülemek için sınıfının özelliğini TreeView ayarlayınShowCheckBoxes. ShowCheckBoxes özelliği dışında TreeNodeType.Nodebir değere ayarlandığında, belirtilen düğüm türünün yanında onay kutuları görüntülenir. Düğümün özelliğini ayarlayarak ShowCheckBox tek bir düğümün onay kutusunu seçmeli olarak geçersiz kılabilirsiniz. Onay kutusu görüntülendiğinde, onay kutusunun seçili olup olmadığını belirlemek için özelliğini kullanın Checked .

Özelliğini ayarlayarak ImageUrl bir düğümde görüntü görüntüleyebilirsiniz. Bu resim düğüm metninin yanında görüntülenir.

Denetimdeki bir düğümün TreeView metni iki moddan birinde olabilir: seçim modu veya gezinti modu. Varsayılan olarak, bir düğüm seçim modundadır. Bir düğümü gezinti moduna almak için, düğümün NavigateUrl özelliğini boş dize ("") dışında bir değere ayarlayın. Bir düğümü seçim moduna almak için düğümün NavigateUrl özelliğini boş bir dize olarak ayarlayın.

Uyarı

Bazı İnternet tarayıcılarında denetimin performansını TreeView etkileyebilecek bir sınırlama vardır. Örneğin, Microsoft Internet Explorer 6.0'ın gönderdiği 2067 karakterlik bir URL karakter sınırı vardır. Bir düğümün URL'sindeki karakter sayısı bu sayıdan büyükse, bu düğümün genişletilmesi başarısız olur ve özel durum oluşturmaz.

Varsayılan olarak, seçim modundaki bir düğüme tıklandığında sayfa sunucuya geri gönderilir ve olay tetikler SelectedNodeChanged . İsteğe bağlı olarak düğümün SelectAction özelliğini ayarlayarak farklı bir olay belirtebilirsiniz. Daha fazla bilgi için bkz. SelectAction. Seçim modunda hangi düğüme tıklandığını belirlemek için denetimin SelectedNodeTreeView özelliğini kullanın.

Bir düğüm gezinti modundayken, bu düğüm için tüm seçim olayları devre dışı bırakılır. Gezinti modunda düğüme tıklanması kullanıcıyı belirtilen URL'ye yönlendirir. İsteğe bağlı olarak, bağlı içeriğin görüntüleneceği pencereyi veya çerçeveyi belirtmek için özelliğini ayarlayabilirsiniz Target .

TreeNode sınıfı, düğümün durumunu depolamak için kullanılan çeşitli özellikler içerir. Bir düğümün Selected seçili olup olmadığını belirlemek için özelliğini kullanın. Düğümün genişletilip genişletileceğini belirlemek için özelliğini kullanın Expanded . DataBound özelliği, bir düğümün verilere bağlı olup olmadığını belirlemek için kullanılır. Bir düğüm verilere bağlı olduğunda, özelliğini kullanarak DataItem temel alınan veri öğesine erişebilirsiniz.

sınıfı, bir düğümün ağaçtaki diğer düğümlere göre konumunu belirlemeye yardımcı olan çeşitli özellikler sağlar. Düğümün Depth derinliğini belirlemek için özelliğini kullanın. Özelliğini kullanarak ValuePath geçerli düğümden kök düğümüne ayrılmış düğüm listesini alabilirsiniz. Düğümün üst düğümünü belirlemek için özelliğini kullanın Parent . Alt düğümlere koleksiyon kullanılarak ChildNodes erişilir.

Bazen, kullanıcı girişine bağlı veri boyutu veya özel içerik nedeniyle ağaç yapısını statik olarak önceden tanımlanmış olarak ayarlamak pratik olmaz. Bu nedenle, TreeView denetim dinamik düğüm popülasyonunu destekler. Düğüm genişletildiğinde çalışma zamanında doldurulabilir. Zaman uyumsuz olarak oluşturulan düğümleri kalıcı hale getirdiğinizde beklenmeyen davranışlar alabileceğinizi unutmayın. Örneğin, düğümleri zaman uyumsuz olarak doldurmak için bir arka plan çalışan iş parçacığı kullanırsanız, denetim sayfa yaşam döngüsünün geri kalanıyla devam etse de düğüm ağacı hemen doldurulamayabilir. Geri göndermede, denetimin görünüm durumu yüklendiğinde ancak düğüm ağacı tam olarak doldurulmadığında düğümlerin gecikmeli oluşturulması sorunlara neden olabilir. Dinamik düğüm popülasyonu hakkında daha fazla bilgi için özelliğine PopulateOnDemand bakın.

Bir TreeNode örneğinin ilk özellik değerlerinin listesini görmek için TreeNode oluşturucusuna bakın.

Oluşturucular

Name Description
TreeNode()

Metin veya değer olmadan sınıfının yeni bir örneğini TreeNode başlatır.

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

Belirtilen metni, değeri, görüntü URL'sini TreeNode , gezinti URL'sini ve hedefi kullanarak sınıfın yeni bir örneğini başlatır.

TreeNode(String, String, String)

Belirtilen metin, değer ve görüntü URL'sini kullanarak sınıfın yeni bir örneğini TreeNode başlatır.

TreeNode(String, String)

Belirtilen metin ve değeri kullanarak sınıfın TreeNode yeni bir örneğini başlatır.

TreeNode(String)

Belirtilen metni kullanarak sınıfın TreeNode yeni bir örneğini başlatır.

TreeNode(TreeView, Boolean)

Belirtilen sahibi kullanarak sınıfın TreeNode yeni bir örneğini başlatır.

Özellikler

Name Description
Checked

Düğümün onay kutusunun seçili olup olmadığını gösteren bir değer alır veya ayarlar.

ChildNodes

Geçerli düğümün birinci düzey alt düğümlerini içeren bir TreeNodeCollection koleksiyon alır.

DataBound

Düğümün veri bağlama aracılığıyla oluşturulup oluşturulmadığını gösteren bir değer alır.

DataItem

Denetime bağlı olan veri öğesini alır.

DataPath

Düğüme bağlı verilerin yolunu alır.

Depth

Düğümün derinliğini alır.

Expanded

Düğümün genişletilip genişletildiğini belirten bir değer alır veya ayarlar.

ImageToolTip

Bir düğümün yanında görüntülenen görüntünün Araç İpucu metnini alır veya ayarlar.

ImageUrl

Düğümün yanında görüntülenen bir görüntünün URL'sini alır veya ayarlar.

IsTrackingViewState

Düğümün değişiklikleri görünüm durumuna kaydedip kaydetmediğini gösteren bir değer alır.

NavigateUrl

Düğüme tıklandığında gidecek URL'yi alır veya ayarlar.

Parent

Geçerli düğümün üst düğümünü alır.

PopulateOnDemand

Düğümün dinamik olarak doldurulup doldurulmadığını gösteren bir değer alır veya ayarlar.

SelectAction

Bir düğüm seçildiğinde yükseltilecek olayı veya olayları alır veya ayarlar.

Selected

Düğümün seçili olup olmadığını gösteren bir değer alır veya ayarlar.

ShowCheckBox

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

Target

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

Text

Denetimdeki düğüm TreeView için görüntülenen metni alır veya ayarlar.

ToolTip

Düğüm için Araç İpucu metnini alır veya ayarlar.

Value

Geri gönderme olaylarını işlemek için kullanılan veriler gibi düğümle ilgili ek verileri depolamak için kullanılan görüntülenmeyen bir değeri alır veya ayarlar.

ValuePath

Kök düğümden geçerli düğüme giden yolu alır.

Yöntemler

Name Description
Clone()

Geçerli TreeNode örneğin özellikleriyle sınıfının yeni bir örneğini TreeNode oluşturur.

Collapse()

Geçerli ağaç düğümünü daraltıyor.

CollapseAll()

Geçerli düğümü ve tüm alt düğümlerini daraltıyor.

Equals(Object)

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

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

Geçerli ağaç düğümünü genişletir.

ExpandAll()

Geçerli düğümü ve tüm alt düğümlerini genişletir.

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)
LoadViewState(Object)

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

MemberwiseClone()

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

(Devralındığı yer: Object)
RenderPostText(HtmlTextWriter)

Denetim geliştiricilerinin düğüme ek işleme eklemesine olanak tanır.

RenderPreText(HtmlTextWriter)

Denetim geliştiricilerinin düğüme ek işleme eklemesine olanak tanır.

SaveViewState()

Düğümün geçerli görünüm durumunu kaydeder.

Select()

Denetimdeki geçerli düğümü TreeView seçer.

ToggleExpandState()

Düğümün genişletilmiş ve daraltılmış durumu arasında geçişler.

ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

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

Düğümdeki görünüm durumu değişikliklerini izlemeye ve kaydetmeye başlamak için başlangıç noktasını işaretler.

Belirtik Arabirim Kullanımları

Name Description
ICloneable.Clone()

Nesnenin bir kopyasını TreeNode oluşturur.

IStateManager.IsTrackingViewState

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

IStateManager.LoadViewState(Object)

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

IStateManager.SaveViewState()

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

IStateManager.TrackViewState()

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

Şunlara uygulanır

Ayrıca bkz.