标记档案: 树视图

使用 ASP.NET Treeview 控件中的 TreeNodeBinding

我一直希望能尽快公布 CodePlex 提供了很好的集成的大量的相互交谈通过发掘下盖的 SharePoint 站点提供商/消费者连接的 web 部件的项目。  (这当然已做过, 但这是一个学习项目一样什么都重要).  这是为了将取代的 SharePoint 的 windows 资源管理器视图 2010 文档库.

代码有平常的递归调用 SPWeb 和 Splist 从给定的起始点。  建立一个 XML 字符串,看上去像这样的对象,不会,遍历:

<sitecollection url =’http://demo2010a:9090′>
 
<网站
     标题 =' 你好世界沙盒 ' 
     模板 =' 的团队能够快速组织网站, 作者, 和共享信息, 废话废话废话 '>

     <列表
        标题 ='BCC_Health_Services_FAQs’
        模板 ='CustomList’
       
listid =’http://demo2010a:9090/helloworldsandbox[delim]1e02b001-3cb2-4f17-b63d-7809e86b4174′>
    
</列表>

     <列表
        标题 = 'BCC_Notifications' 
        模板 = 'CustomList' 
        listid =’
http://demo2010a:9090/helloworldsandbox[delim]5a5a13d1-877 c 41 c 0-9063-b9612be80d5e’>
     </列表>

  </网站>

</sitecollection>

我期望干净了之前所有, XML 是说和做.

我想最终获得信息,并到 Treeview 控件。  不完全地球次多么重大的东西.

我在这里拿的挑战是要连接到 XML 数据源控件,而不是手动建立我的 treenodes,因为我遍历树的树视图。  部分原因是因为我故意制作的东西对自己更难做到 (这毕竟是一个学习项目) 部分原因是因为我有这种模糊的概念,建立树节点,如我遍历树长远来说并不是一个好主意.

这种方法的问题在于 Treeview 控件不知道上有趣的节点,如"列表"或"web"好的属性,因此它在默认情况下显示此输出:

 

image

这不是很有用的。  这是哪里的 TreeNodeBinding 类帮助。  我可以使用此告诉 Treeview 控件,它应如何解释 XML。  下面是一个示例:

tnb = 新 TreeNodeBinding();
tnb。DataMember ="名单"; // 这是一个网站的 xml 中的标签.
tnb。TargetField ="listid";
tnb。ValueField ="title";
tnb。ToolTipField ="模板";

此绑定告诉树视图,当它发现 <列表> 在 XML 中的节点, 应用 TargetField 的绑定, ValueField 和 ToolTipField。  在可能的应用程序, 这些地图,如下所示:

  • TargetField: 当某人单击节点的值, 这是你会为 SelectedNode.Value。  这并不是与混淆 … …
  • ValueField: 这就是你所想的树视图以显示给用户.
  • ToolTipField: 从您希望作为工具提示的 XML 值.

添加到树视图中的数据绑定,并且 TreeNodebinding 获取输出像这样:

 

image

我更对所有这一切为继续实施项目,并最终把这 Codeplex.

</结束>

订阅我的博客.

跟我在 Twitter 上 http://www.twitter.com/pagalvin