TreeNodeBinding.Depth Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the node depth at which the TreeNodeBinding object is applied.
public:
property int Depth { int get(); void set(int value); };
[System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public int Depth { get; set; }
[System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public int Depth { get; set; }
[<System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Depth : int with get, set
[<System.ComponentModel.TypeConverter("System.Web.UI.Design.WebControls.TreeNodeBindingDepthConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Depth : int with get, set
Public Property Depth As Integer
Property Value
The node depth at which the TreeNodeBinding object is applied. The default is -1, indicating that the Depth property is not set.
- Attributes
Examples
This section contains two code examples. The first code example demonstrates how to use the Depth property to apply a TreeNodeBinding object at a specific node depth. The second code example provides sample XML data for the first code example.
The following code example demonstrates how to use the Depth property to apply a TreeNodeBinding object at a specific node depth. 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>TreeViewBinding DataMember and Depth Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeViewBinding DataMember and Depth Example</h3>
<!-- Set the DataMember and Depth properties of a -->
<!-- TreeNodeBinding object declaratively. You -->
<!-- can render items at the same node level -->
<!-- by setting each item's Depth property to -->
<!-- the same value. -->
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="Book" Depth="0" TextField="Title"/>
<asp:TreeNodeBinding DataMember="Chapter" Depth="1" TextField="Heading"/>
<asp:TreeNodeBinding DataMember="Appendix" Depth="1" 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>TreeViewBinding DataMember and Depth Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeViewBinding DataMember and Depth Example</h3>
<!-- Set the DataMember and Depth properties of a -->
<!-- TreeNodeBinding object declaratively. You -->
<!-- can render items at the same node level -->
<!-- by setting each item's Depth property to -->
<!-- the same value. -->
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="Book" Depth="0" TextField="Title"/>
<asp:TreeNodeBinding DataMember="Chapter" Depth="1" TextField="Heading"/>
<asp:TreeNodeBinding DataMember="Appendix" Depth="1" 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>
<Appendix Heading="Appendix A">
</Appendix>
</Book>
Remarks
A node depth specifies the node level that gets bound. For example, the following TreeNodeBinding declaration binds the Name
and ID
fields of the data source to the Text and Value properties, respectively, of all nodes with a depth of 0:
<asp:TreeNodeBinding Depth="0" TextField="Name" ValueField="ID">
When creating a TreeNodeBinding object, you must specify the criteria for binding. The criteria indicates when a data item should be bound to a node. You can specify the Depth or DataMember property, or both properties. There is a slight performance gain by specifying both.
Once the binding criteria is established, you can then bind a property of a TreeNode object that can be bound to a value. You can bind to a field of a data item or to a static value. When bound to a static value, all TreeNode objects to which the TreeNodeBinding object is applied share the same value.
The value of this property is stored in view state.