英文版原文链接: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. Mybatis+SpringMVC+Spring整合

    1,先添加spring支持: applicationContext.xml  配在WEBINF下,四个命名空间:aop,context,tx,p 配Listener:ContextLoaderList ...

  2. sqlserver2008创建数据库 报 Cannot read property is filestream 此属性不可用于sql server 7.0 解决

    在创建数据库的时候,报整个错误 Cannot read property is filestream 此属性不可用于sql server 7.0 按照网上的方法  (http://blog.csdn. ...

  3. Codeforces Round #243 (Div. 2) B(思维模拟题)

    http://codeforces.com/contest/426/problem/B B. Sereja and Mirroring time limit per test 1 second mem ...

  4. STORM_0010_Message passing implementation/消息传递的实现

    下面是0.8.0之前的表述,之后的已经基于Disruptor改造过了 这个文章演示了发射和转移tuple是怎么在storm中工作的   Worker为消息传递负责 当zk中的任务出现了变化或者每个ta ...

  5. Expression Blend制作自定义按钮(转)

    来源:http://www.cnblogs.com/iChina/archive/2011/11/25/2262854.html Expression Blend制作自定义按钮 1.从Blend工具箱 ...

  6. 最近用到这个强大的工具 PhysicsEditor (转)

    今天收到PhysicsEditor作者发过来的license key,所以顺便把PhysicsEditor也尝试了一下.主要是尝试将PhysicsEditor与cocos2dx,box2d结合开发的一 ...

  7. 如何写好CSS?(OOCSS\DRY\SMACSS)

    我现在面对的CSS基本上就是一个三头六臂的怪物,一点不夸张,因为真的是三头六臂,同一个样式在同一个element上作用了好几遍,而同一个样式又分散在4,5个class上,优先级有很多层.可以看得出这个 ...

  8. Web App时代的缓存机制新思路

    Web App常见架构 以WebQQ例,WebQQ这个站点的所有内容都是一个页面里面呈现的,我们看到的类似windows操作系统的框架,是它的顶级容器和框架,由AlloyOS的内核负责统筹和管理,然后 ...

  9. CentOS6.x最下化安装及优化配置

    一.最小化安装自定义额外包组 1.1 选择最小化安装 1.2 自定义额外的包组 Base System的选择 Development的选择 如果需要中文的支持可以在Languages中勾选中文 1.3 ...

  10. JavaSE复习_12 Socket网络编程

    △客户端使用Scanner与BufferedReader的异同,Scanner在客户端调用s.shutdownoutput的时候,将会因为读不到行而报异常,但是BufferedReader的readl ...