在asp.net树视图控件中绑定数据

本文关键字:绑定 数据 控件 视图 asp net | 更新日期: 2023-09-27 18:26:37

我需要像这样的树视图结构

Accounts-->Kmart-->California-->Stockton CA 95207
                             -->Oakdale, CA 95361   

从这个表

SCID    SCEID   SCElement   ParentID    Parent      SalesChannelName
67      27      Account     0           Root        Kmart
71      28      State       67          KMart       California
72      29      Store       71          California  Stockton CA 95207
74      29      Store       71          California  Oakdale, CA 95361

我尝试了这个链接中的一个样本http://aspalliance.com/732.它运行良好。但我不知道如何(写一个查询)在那个示例代码中从这个表中形成树结构。。有什么建议吗?

在asp.net树视图控件中绑定数据

用不同的表名填充表中的数据两次。

例如:

da.Fill(ds,"Table1");
da.Fill(ds,"Table2");

现在在数据集中添加一个数据关系,其中ID来自Table1,ParentId来自Table2

现在绑定到树状视图

下面的链接将对您有所帮助。

http://joshsmithonwpf.wordpress.com/2007/05/05/binding-a-treeview-to-a-dataset/

这使用了DB中的两个表。但是,您可以在SQL查询

中使用同一个表两次,只需进行较小的更改

为了将数据"绑定"到树视图,它必须采用正确的格式,以便树视图进行摘要。也就是说,它必须应用IHierarchicalDataSource接口,例如格式化的XML文档等。

不幸的是,当你从数据库中获取数据时,它不会被分层格式化,这让你有两个选择。。。

  1. 在绑定到树视图之前,将数据转换为XMLDataSource并格式化/组织数据
  2. 与示例中一样,将数据加载到DataTable中,并使用递归函数手动添加节点。我想,如果你正在寻找封装,你可以从现有的树视图中继承一个新的控件,并相应地添加方法

HTH