次の方法で共有


TreeNodeBindingCollection クラス

定義

TreeNodeBinding コントロールに含まれる TreeView オブジェクトのコレクションを表します。 このクラスは継承できません。

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
継承
TreeNodeBindingCollection

このセクションには、2 つのコード例が含まれています。 最初のコード例では、オブジェクトを宣言的に設定する方法を TreeNodeBindingCollection 示します。 2 番目のコード例では、プログラムでオブジェクトを設定する方法を TreeNodeBindingCollection 示します。

次のコード例は、オブジェクトを宣言的に設定する方法を TreeNodeBindingCollection 示しています。 この例を正しく機能させるには、このセクションの最後にある XML データを 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>

次のコード例は、プログラムでオブジェクトを設定する方法を TreeNodeBindingCollection 示しています。 この例を正しく機能させるには、このセクションの最後にあるサンプル XML データを 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>

前のコード例の XML データを次に示します。

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

注釈

クラスはTreeNodeBindingCollection、コントロール内TreeViewのオブジェクトのTreeNodeBindingコレクションを格納および管理するために使用されます。 コントロールは TreeView 、そのプロパティに TreeNodeBindingCollection クラスを DataBindings 使用します。

DataBindingsプロパティには、TreeNodeBindingデータ項目とバインドするノードの間のリレーションシップを定義するオブジェクトが含まれています。 各データ 項目に複数のプロパティ (複数の属性を持つ XML 要素など) が含まれるデータ ソースにバインドする場合、ノードには既定でデータ項目の メソッドによって ToString 返される値が表示されます。 XML 要素の場合、ノードには要素名が表示されます。これはツリーの基になる構造を示しますが、それ以外の場合はあまり役に立ちません。 ツリー ノード バインドを指定することで、ノードを特定のデータ項目プロパティにバインドできます。 コレクションは DataBindings プログラムで設定できますが、通常は宣言的に設定されます。

ツリー ノードバインドを宣言的に設定するには:

  1. コントロールの開始タグと終了 <DataBindings> タグの間に開始タグと終了タグを入れ子にします TreeView

  2. 指定するツリー ノード バインドごとに、開始タグと終了<DataBindings>タグの間に要素を配置<asp:TreeNodeBinding>します。

オブジェクトを追加および削除TreeNodeBindingすることで、 をTreeNodeBindingCollectionプログラムで管理できます。 コレクションに オブジェクトをTreeNodeBinding追加するには、 メソッドまたは Insert メソッドをAdd使用します。 コレクションからノードを削除するには、または StateManagedCollection.Clear メソッドをRemoveAtRemove使用します。

クラスでは TreeNodeBindingCollection 、コレクション内の項目にアクセスするいくつかの方法がサポートされています。

  • インデクサーを Item[] 使用して、特定の TreeNode 0 から始まるインデックスでオブジェクトを直接取得します。

  • メソッドを StateManagedCollection.GetEnumerator 使用して、コレクションを反復処理するために使用できる列挙子を作成します。

プロパティ

Count

StateManagedCollection コレクションに格納されている要素の数を取得します。

(継承元 StateManagedCollection)
Item[Int32]

TreeNodeBinding オブジェクト内の指定したインデックス位置にある TreeNodeBindingCollection オブジェクトを取得または設定します。

メソッド

Add(TreeNodeBinding)

指定した TreeNodeBinding オブジェクトを TreeNodeBindingCollection オブジェクトの末尾に追加します。

Clear()

StateManagedCollection コレクションからすべての項目を削除します。

(継承元 StateManagedCollection)
Contains(TreeNodeBinding)

指定した TreeNodeBinding オブジェクトがコレクション内にあるかどうかを確認します。

CopyTo(Array, Int32)

特定の配列インデックスを開始位置として、配列に StateManagedCollection コレクションの要素をコピーします。

(継承元 StateManagedCollection)
CopyTo(TreeNodeBinding[], Int32)

TreeNodeBindingCollection のすべての項目を互換性のある 1 次元の TreeNodeBinding オブジェクト配列にコピーします。コピー先の配列の指定したインデックスからコピーが開始されます。

CreateKnownType(Int32)

派生クラスでオーバーライドされた場合、IStateManager を実装するクラスのインスタンスを作成します。 作成されるオブジェクトの型は、GetKnownTypes() メソッドから返されるコレクションの指定されたメンバーに基づきます。

(継承元 StateManagedCollection)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetEnumerator()

StateManagedCollection コレクションを反復処理する反復子を返します。

(継承元 StateManagedCollection)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetKnownTypes()

派生クラスでオーバーライドされた場合、StateManagedCollection コレクションに格納できる IStateManager 型の配列を取得します。

(継承元 StateManagedCollection)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IndexOf(TreeNodeBinding)

コレクション内の指定した TreeNodeBinding オブジェクトのインデックスを確認します。

Insert(Int32, TreeNodeBinding)

指定した TreeNodeBinding オブジェクトを TreeNodeBindingCollection オブジェクトの指定したインデックス位置に挿入します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
OnClear()

派生クラスでオーバーライドされた場合、Clear() メソッドによってコレクションからすべての項目が削除される前の補足作業を実行します。

(継承元 StateManagedCollection)
OnClearComplete()

派生クラスでオーバーライドされた場合、Clear() メソッドによってコレクションからすべての項目が削除された後の補足作業を実行します。

(継承元 StateManagedCollection)
OnInsert(Int32, Object)

派生クラスでオーバーライドされた場合、IList.Insert(Int32, Object) メソッドまたは IList.Add(Object) メソッドによってコレクションに項目が追加される前の補足作業を実行します。

(継承元 StateManagedCollection)
OnInsertComplete(Int32, Object)

派生クラスでオーバーライドされた場合、IList.Insert(Int32, Object) メソッドまたは IList.Add(Object) メソッドによってコレクションに項目が追加された後の補足作業を実行します。

(継承元 StateManagedCollection)
OnRemove(Int32, Object)

派生クラスでオーバーライドされた場合、IList.Remove(Object) メソッドまたは IList.RemoveAt(Int32) メソッドによって、指定された項目がコレクションから削除される前の補足作業を実行します。

(継承元 StateManagedCollection)
OnRemoveComplete(Int32, Object)

派生クラスでオーバーライドされた場合、IList.Remove(Object) メソッドまたは IList.RemoveAt(Int32) メソッドによって、指定された項目がコレクションから削除された後の補足作業を実行します。

(継承元 StateManagedCollection)
OnValidate(Object)

派生クラスでオーバーライドされた場合、StateManagedCollection コレクションの要素を検証します。

(継承元 StateManagedCollection)
Remove(TreeNodeBinding)

指定した TreeNodeBinding オブジェクトを TreeNodeBindingCollection オブジェクトから削除します。

RemoveAt(Int32)

指定したインデックス位置にある TreeNodeBinding オブジェクトを TreeNodeBindingCollection オブジェクトから削除します。

SetDirty()

強制的に StateManagedCollection コレクション全体をビューステートにシリアル化します。

(継承元 StateManagedCollection)
SetDirtyObject(Object)

派生クラスでオーバーライドされた場合、コレクションに格納されている object に、変更情報だけでなく、その状態全体をビューステートに記録するよう指示します。

(継承元 StateManagedCollection)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

明示的なインターフェイスの実装

ICollection.Count

StateManagedCollection コレクションに格納されている要素の数を取得します。

(継承元 StateManagedCollection)
ICollection.IsSynchronized

StateManagedCollection コレクションが同期されている (スレッド セーフである) かどうかを示す値を取得します。 このメソッドは、常に false を返します。

(継承元 StateManagedCollection)
ICollection.SyncRoot

StateManagedCollection コレクションへのアクセスを同期するために使用できるオブジェクトを取得します。 このメソッドは、常に null を返します。

(継承元 StateManagedCollection)
IEnumerable.GetEnumerator()

StateManagedCollection コレクションを反復処理する反復子を返します。

(継承元 StateManagedCollection)
IList.Add(Object)

項目を StateManagedCollection コレクションに追加します。

(継承元 StateManagedCollection)
IList.Clear()

StateManagedCollection コレクションからすべての項目を削除します。

(継承元 StateManagedCollection)
IList.Contains(Object)

StateManagedCollection コレクションに特定の値が格納されているかどうかを判断します。

(継承元 StateManagedCollection)
IList.IndexOf(Object)

StateManagedCollection コレクション内での指定した項目のインデックスを調べます。

(継承元 StateManagedCollection)
IList.Insert(Int32, Object)

StateManagedCollection コレクション内の指定したインデックスの位置に項目を挿入します。

(継承元 StateManagedCollection)
IList.IsFixedSize

StateManagedCollection コレクションが固定サイズかどうかを示す値を取得します。 このメソッドは、常に false を返します。

(継承元 StateManagedCollection)
IList.IsReadOnly

StateManagedCollection コレクションが読み取り専用かどうかを示す値を取得します。

(継承元 StateManagedCollection)
IList.Item[Int32]

指定されたインデックス位置の IStateManager 要素を取得します。

(継承元 StateManagedCollection)
IList.Remove(Object)

指定したオブジェクトのうち、StateManagedCollection コレクションで最初に出現したオブジェクトを削除します。

(継承元 StateManagedCollection)
IList.RemoveAt(Int32)

指定したインデックス位置にある IStateManager 要素を削除します。

(継承元 StateManagedCollection)
IStateManager.IsTrackingViewState

StateManagedCollection コレクションがビューステートへの変更を保存しているかどうかを示す値を取得します。

(継承元 StateManagedCollection)
IStateManager.LoadViewState(Object)

StateManagedCollection コレクションと、そのコレクションに格納されている IStateManager 項目の以前に保存されたビューステートを復元します。

(継承元 StateManagedCollection)
IStateManager.SaveViewState()

ページがサーバーにポストバックされた時間以降に発生した、StateManagedCollection コレクションとその各 IStateManager オブジェクトへの変更を保存します。

(継承元 StateManagedCollection)
IStateManager.TrackViewState()

StateManagedCollection コレクションとその各 IStateManager オブジェクトに自身のビューステートへの変更を追跡させ、同じページに対する要求間でこれらが永続化されるようにします。

(継承元 StateManagedCollection)

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。

AsParallel(IEnumerable)

クエリの並列化を有効にします。

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。

適用対象

こちらもご覧ください