TreeView.MaxDataBindDepth Property

Definition

Gets or sets the maximum number of tree levels to bind to the TreeView control.

public:
 property int MaxDataBindDepth { int get(); void set(int value); };
public int MaxDataBindDepth { get; set; }
member this.MaxDataBindDepth : int with get, set
Public Property MaxDataBindDepth As Integer

Property Value

The maximum number of tree levels to bind to the TreeView control. The default is -1, which binds all the tree levels in the data source to the control.

Exceptions

The selected value is less than -1.

Examples

This section contains two code examples. The first code example demonstrates how to use the MaxDataBindDepth property to bind only the first two node levels (depths 0 and 1) to the TreeView control. The second code example provides sample XML data for the first code example.

The following code example demonstrates how to use the MaxDataBindDepth property to bind only the first two node levels (depths 0 and 1) to the TreeView control. All node levels in the data source are ignored. For this example to work correctly, you must copy the sample XML data, provided after this code example, to a file named 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 MaxDataBindDepth Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView MaxDataBindDepth Example</h3>
    
      <asp:TreeView id="BookTreeView"
        MaxDataBindDepth="1"  
        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 MaxDataBindDepth Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView MaxDataBindDepth Example</h3>
    
      <asp:TreeView id="BookTreeView"
        MaxDataBindDepth="1"  
        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>

The following code example provides sample XML data for the preceding code example.

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

Remarks

When binding the TreeView control to a data source, use the MaxDataBindDepth property to limit the number of tree levels to bind to the control. For example, setting this property to 2 binds only the root node and any nodes that are immediately under the root node to the TreeView control. All remaining nodes in the data source are ignored.

Important

A malicious user can create a callback request and get data for the nodes of the TreeView control that the page developer is not displaying. Therefore, security of the data must be implemented by the data source. Do not use the MaxDataBindDepth property to hide data.

The value of this property is stored in view state.

Applies to

See also