TreeView.AutoGenerateDataBindings プロパティ

定義

TreeView コントロールがツリー ノードのバインディングを自動的に生成するかどうかを示す値を取得または設定します。Gets or sets a value indicating whether the TreeView control automatically generates tree node bindings.

public:
 property bool AutoGenerateDataBindings { bool get(); void set(bool value); };
public bool AutoGenerateDataBindings { get; set; }
member this.AutoGenerateDataBindings : bool with get, set
Public Property AutoGenerateDataBindings As Boolean

プロパティ値

TreeView コントロールによりツリー ノードのバインディングが自動的に生成される場合は true。それ以外の場合は falsetrue to have the TreeView control automatically generate tree node bindings; otherwise, false. 既定値は、true です。The default is true.

このセクションには、2 つのコード例が含まれています。This section contains two code examples. 最初のコード例では、 AutoGenerateDataBindingsプロパティをにfalse設定して、ツリーノードの自動バインド生成を無効にする方法を示します。The first code example demonstrates how to disable automatic tree node binding generation by setting the AutoGenerateDataBindings property to false. 2番目のコード例では、最初のコード例のサンプルサイトマップデータを提供します。The second code example provides sample site map data for the first code example.

AutoGenerateDataBindingsプロパティをにfalse設定して、ツリーノードの自動バインド生成を無効にする方法を次のコード例に示します。The following code example demonstrates how to disable automatic tree node binding generation by setting the AutoGenerateDataBindings property to false. DataBindingsに、 SiteMapDataSourceコントロールのデータ項目TreeViewとコントロールのノードとの間の関係を確立するために、コレクションを定義します。A DataBindings collection is then defined to establish the relationship between the data items in a SiteMapDataSource control and the nodes of the TreeView control. この例を正しく動作させるには、このコード例の後に示したサンプルのサイトマップデータを、Web.config という名前のファイルにコピーする必要があります。For this example to work correctly, you must copy the sample site map data, provided after this code example, to a file named Web.sitemap.


<%@ 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 AutoGenerateBindings Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView AutoGenerateBindings Example</h3>
    
      <!-- Set the AutoGenerateBindings property -->
      <!-- to false declaratively to allow for   -->
      <!-- the user-defined Bindings collection. -->
      <asp:TreeView id="SiteTreeView" 
        DataSourceID="SiteMapSource"
        AutoGenerateDataBindings="False"
        runat="server">
        
        <DataBindings>
        
          <asp:TreeNodeBinding TextField="title" NavigateUrlField="url"/>
        
        </DataBindings>
            
      </asp:TreeView>
      
      <asp:SiteMapDataSource ID="SiteMapSource" 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView AutoGenerateBindings Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView AutoGenerateBindings Example</h3>
    
      <!-- Set the AutoGenerateBindings property -->
      <!-- to false declaratively to allow for   -->
      <!-- the user-defined Bindings collection. -->
      <asp:TreeView id="SiteTreeView" 
        DataSourceID="SiteMapSource"
        AutoGenerateDataBindings="False"
        runat="server">
        
        <DataBindings>
        
          <asp:TreeNodeBinding TextField="title" NavigateUrlField="url"/>
        
        </DataBindings>
            
      </asp:TreeView>
      
      <asp:SiteMapDataSource ID="SiteMapSource" runat="server"/>
         
    </form>
  </body>
</html>

次のコード例は、前の例のサンプルサイトマップデータを示しています。The following code example provides sample site map data for the preceding example.

<siteMap>  
    <siteMapNode title="Home" description="Home" url="default.aspx">  
        <siteMapNode title="Products" description="Products" url="Products.aspx">  
            <siteMapNode title="Computers" url="Computers.aspx"/>  
            <siteMapNode title="Accessories" url="Accessories.aspx"/>       
        </siteMapNode>  
    </siteMapNode>  
</siteMap>  

注釈

ツリーノードバインドは、データ項目とそのバインド先のノードとの間のリレーションシップを定義します。Tree node bindings define the relationship between a data item and the node it is binding to. 各データ項目に複数のプロパティ (複数の属性を持つ XML 要素など) が含まれているデータソースにTreeViewバインドする場合、コントロールはどのデータ項目プロパティTreeNodeにバインドするかを特定する必要があります。When binding to a data source where each data item contains multiple properties (such as an XML element with several attributes), the TreeView control needs to know which data item property to bind to which TreeNode property. true TreeView Textプロパティがに設定されている場合、コントロールは、バインディングに関連付けられているTreeNodeオブジェクトのプロパティを、の値に設定する既定のツリーノードのバインドを自動的に生成します。 AutoGenerateDataBindingsデータ項目のToStringメソッドによって返されます。If the AutoGenerateDataBindings property is set to true, the TreeView control automatically generates default tree node bindings that set the Text property of the TreeNode object that is associated with the binding to the value that is returned by the ToString method of the data item.

注意

自動的に生成されたツリーノードのバインドはDataBindingsコレクションに追加されません。The automatically generated tree node bindings are not added to the DataBindings collection.

Xml 要素の場合、 ToStringメソッドによって返される値は、xml ファイルの基になる構造を示す要素名になりますが、それ以外の場合はあまり役に立ちません。In the case of an XML element, the value that is returned by the ToString method is the element name, which shows the underlying structure of the XML file, but is not very useful otherwise. より有用なツリーを作成するには、 DataBindingsコレクションに設定することによって、独自のツリーノードバインディングを定義する必要があります。To create a more useful tree, you must define your own tree node bindings by populating the DataBindings collection.

注意

コレクションをDataBindings定義する場合、コントロールTreeViewは自動的に生成されたツリーノードのバインドではなく、これらの値を使用します。If you define a DataBindings collection, the TreeView control uses those values instead of automatically generated tree node bindings.

このプロパティの値は、ビューステートに格納されます。The value of this property is stored in view state.

適用対象

こちらもご覧ください