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, bir 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 giriş düğüm olarak adlandırılır ve bir TreeNode nesneyle temsil edilir. Diğer düğümleri içeren 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ğaçta 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.

Bir düğüm öncelikli olarak verileri özelliği ve özelliği olmak üzere iki özellikte Text 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.

Not

Aynı düzeydeki düğümlerin her birinin özelliği için Value benzersiz bir değere sahip olması gerekir; TreeView denetim aynı değere sahip aynı düzeydeki farklı düğümleri ayırt edemez. Bu senaryoda, kullanıcı yinelenen değere sahip bir düğüme tıklarsa, denetimde TreeView ilk görüntülenen 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şletilip genişletilemez, daraltılmış veya genişletilemez 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ındaki onay kutusunu 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 görüntüyü düğümde görüntüleyebilirsiniz. Bu görüntü 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.

Not

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 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ü genişletme işlemi 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, söz konusu 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 .

sınıfı, TreeNode düğümün durumunu depolamak için kullanılan birkaç özellik içerir. Bir düğümün Selected seçilip seçilmediğini belirlemek için özelliğini kullanın. Düğümün genişletilip genişletılmediğ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, veri boyutu veya kullanıcı girişine bağlı özel içerik nedeniyle ağaç yapısını statik olarak önceden tanımlı yapmak pratik değildir. Bu nedenle denetim dinamik TreeView 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 elde edebilirsiniz. Ö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.

örneğinin ilk özellik değerlerinin TreeNodelistesi için oluşturucuya TreeNode bakın.

Oluşturucular

TreeNode()

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

TreeNode(String)

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

TreeNode(String, String)

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

TreeNode(String, String, String)

Belirtilen metin, değer ve görüntü URL'sini TreeNode kullanarak sınıfın yeni bir örneğini 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(TreeView, Boolean)

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

Özellikler

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ğlaması aracılığıyla oluşturulup oluşturulmadığını gösteren bir değer alır.

DataItem

Denetime bağlı 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

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 görüntünün URL'sini alır veya ayarlar.

IsTrackingViewState

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

NavigateUrl

Düğüme tıklandığında gidilen 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ı belirten bir değer alır veya ayarlar.

SelectAction

Bir düğüm seçildiğinde tetiklenecek 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

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

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

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

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

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

Denetim geliştiricilerinin düğüme ek işleme eklemesine izin verir.

RenderPreText(HtmlTextWriter)

Denetim geliştiricilerinin düğüme ek işleme eklemesine izin verir.

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

ICloneable.Clone()

Nesnenin TreeNode bir kopyasını 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.