英文版原文链接:http://www.infragistics.com/help/topic/e5f07b51-ee2d-4a33-aaac-2f43cffff327

所使用的控件版本为:Infragistics4.Web.v12.2

在页面上拖拽3个控件:ScriptManager,WebDataTree(第三方控件),XmlDataSource,按如下设置:

HTML:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Tree.aspx.cs" Inherits="WebStudy.Tree" %>
<%@ Register assembly="Infragistics4.Web.v12.2, Version=12.2.20122.2054, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb" namespace="Infragistics.Web.UI.NavigationControls" tagprefix="ig" %>

<head>
<link href="Style.css" rel="stylesheet" type="text/css" />
</head>

<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<ig:WebDataTree ID="WebDataTree1" runat="server"
DataSourceID="XmlDataSource1"
Height="100%"
Width="100%"
Style="float: left; margin-left: 2px"
InitialExpandDepth="0"
EnableConnectorLines="false" StyleSetName="IG">
<DataBindings>
<%--第一层节点绑定,DataMember 节点名字--%>
<ig:DataTreeNodeBinding DataMember="Customer" TextField="CustomerName" ValueField="CustomerID " />
<%-- 第二层节点绑定,DataMember 节点名字 --%>
<ig:DataTreeNodeBinding DataMember="Order" TextField="OrderID" ValueField="OrderID " />
<%-- 第三层节点绑定,DataMember 节点名字 --%>
<ig:DataTreeNodeBinding DataMember="OrderDetail" TextField="ProductName" ValueField="ProductID " />
</DataBindings>
</ig:WebDataTree>
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/test.xml">
</asp:XmlDataSource>
</form>

所使用到的XML文件格式如下:

<?xml version="1.0" encoding="utf-8" ?>
<Customers>
<Customer CustomerID="ALFKI" CustomerName="A" ImageUrl="NANETLarge.jpg">
<Order OrderID="1024" ImageUrl="NASilLarge.jpg">
<OrderDetail ProductID="1" ProductName="Chocolate" Quantity="10" ImageUrl="NAWinLarge.jpg" />
<OrderDetail ProductID="2" ProductName="Apples" Quantity="20" ImageUrl="NAWpfLarge.jpg" />
<OrderDetail ProductID="3" ProductName="Peanuts" Quantity="30" ImageUrl="NAWinLarge.jpg" />
</Order>
<Order OrderID="1029" ImageUrl="NAAsLarge.jpg">
<OrderDetail ProductID="10" ProductName="Flour" Quantity="100" ImageUrl="NAWinLarge.jpg" />
</Order>
</Customer>
<Customer CustomerID="BLONP" CustomerName="B" ImageUrl="TAWinLarge.jpg">
<Order OrderID="2021" ImageUrl="NASilLarge.jpg">
<OrderDetail ProductID="4" ProductName="Rigatoni" Quantity="30" ImageUrl="NAWpfLarge.jpg"/>
<OrderDetail ProductID="5" ProductName="Ricotta" Quantity="10" ImageUrl="NAWinLarge.jpg" />
</Order>
</Customer>
<Customer CustomerID="WOLZA" CustomerName="C" ImageUrl="NAIcoLarge.jpg">
<Order OrderID="2029" ImageUrl="NASilLarge.jpg">
<OrderDetail ProductID="6" ProductName="Hot Dogs" Quantity="45" ImageUrl="NAWinLarge.jpg" />
<OrderDetail ProductID="7" ProductName="Brown Rice" Quantity="12" ImageUrl="NAWpfLarge.jpg"/>
<OrderDetail ProductID="8" ProductName="Ketchup" Quantity="100" ImageUrl="NAWinLarge.jpg"/>
<OrderDetail ProductID="9" ProductName="Mustard" Quantity="100" ImageUrl="NAWpfLarge.jpg" />
</Order>
</Customer>
</Customers>

---------------------------------------------------------------------

效果图:

使用递归算法直接绑定数据也是可行的。

参考另一篇:http://www.cnblogs.com/hiflora/p/3158793.html

WebDataTree 使用XML做数据源绑定数据的更多相关文章

  1. java分享第十八天-02( java结合testng,利用XML做数据源的数据驱动)

    testng的功能很强大,利用@DataProvider可以做数据驱动,数据源文件可以是EXCEL,XML,YAML,甚至可以是TXT文本.在这以XML为例:备注:@DataProvider的返回值类 ...

  2. java结合testng,利用XML做数据源的数据驱动示例

    testng的功能很强大,利用@DataProvider可以做数据驱动,数据源文件可以是EXCEL,XML,YAML,甚至可以是TXT文本.在这以XML为例: 备注:@DataProvider的返回值 ...

  3. 从xml文件中绑定数据到DropDownList控件上

    参考了2篇文章: http://www.cnblogs.com/JuneZhang/archive/2010/11/23/1885671.html http://blog.sina.com.cn/s/ ...

  4. Listbox的操作,数据源变化时要及时更新listbox要先把数据源置空,在给数据源绑定数据

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. List<T>做数据源绑定的问题

    List<C_Pinpai> lc;// = new List<C_Pinpai>(); private void BindGrid() { //if (lc.Count &g ...

  6. PB中用oracle的存储过程返回记录集做数据源来生成数据窗口,PB会找不到此存储过程及不能正常识别存储过程的参数问题(转)

    (转)在PB中用oracle的存储过程返回记录集做数据源来生成数据窗口 首先oracle的存储过程写法与MSSQL不一样,差别比较大. 如果是返回数据集的存储过程则需要利用oracle的包来定义游标. ...

  7. Spinner 通过XML形式绑定数据时 无法从String.xml中读取数组

    在android应用程序中,通过XML形式给Spinner绑定数据,如果把数组放在系统的string.xml文件里,那么就有可能在运行时无法找到,导致程序异常结束,解决方法是自建一个XML文件来存放数 ...

  8. C# 中DataGridView 绑定List<T>做数据源的操作问题

    若想将 List<T>作为DataGridView的数据源,然后后续还想继续操作的话,需要将List<T>赋值给BindingList对象, 然后直接将BindingList赋 ...

  9. Android之ListView性能优化——一行代码绑定数据——万能适配器

    如下图,加入现在有一个这样的需求图,你会怎么做?作为一个初学者,之前我都是直接用SimpleAdapter结合一个Item的布局来实现的,感觉这样实现起来很方便(基本上一行代码就可以实现),而且也没有 ...

随机推荐

  1. 【转】在网页中运行VB6程序

      用VB6做的程序在网页里运行, 需要把程序做成OCX格式,下面简单做一介绍: 首先新建一个工程, 选择ActivX控件: 然后添加控件和代码: 然后F5运行 然后按下图设置,去掉弹出消息阻止 这样 ...

  2. SELECT时为何要加WITH(NOLOCK)

    此文章非原创,仅为分享.学习!! 要提升SQL的查询效能,一般来说大家会以建立索引(index)为第一考虑.其实除了index的建立之外,当我们在下SQL Command时,在语法中加一段WITH ( ...

  3. 部署PDA程序的时候存储不足的解决办法

    通常Windows Mobile的存储空间分为程序内存和存储内存,默认都比较小,当程序比较大的时候可能无法正常部署到设备上面,针对此问题可采用如下办法解决:1.通过VS修改,工具--选项--设备--选 ...

  4. html中出现的script失效

    如果在Controller中出现script代码类似 $hello_str='Hello God<script>alert(3);</script>'; 那么我不希望在传给vi ...

  5. [转] Git SSH Key 生成步骤

    Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 一 . 设置Git的user name和email: $ git ...

  6. 抓包工具__Windows

    我常使用的: 1. SoftPerfect Network Protocol Analyzer 2. fiddler . fiddler2 3.

  7. [转载] google mock CheatSheet

    原文: https://code.google.com/p/googlemock/wiki/CheatSheet Defining a Mock Class Mocking a Normal Clas ...

  8. openerp安装记录及postgresql数据库问题解决

    ubuntu-14.04下openerp安装记录1.安装PostgreSQL 数据库    a.安装         sudo apt-get install postgresql    安装后ubu ...

  9. Android广播BroadcastReceiver 二

    BroadcastReceiver: 在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver是对发送出来的 Broadcast进行过滤 ...

  10. 修正ios h5上传图时的图片方向问题

     .ios上传会在exif中带一个 Orientation的属性,这个属性在windows中不会生效,在ios浏览器中会生效,造成图片在windows资源管理器中与ios浏览器中方向不一致  为了用户 ...