【问题标题】:How to get data from SQL Server and create a treeview in ASP.NET?如何从 SQL Server 获取数据并在 ASP.NET 中创建树视图?
【发布时间】:2013-07-16 02:50:01
【问题描述】:

我有一个返回我的类别的 SQL Server 过程。我的Category 表有一个外键,因为我的类别有一个来自同一个表的Parent_ID 列。

我以这种方式从 SQL Server 发送这些数据:

SELECT ID, Title, Desciption, Parent_ID
FROM Category
FOR XML AUTO, ROOT('Categories'), ELEMENTS

我在我的 C# 程序中通过以下方式获取这些数据:

using (XmlReader xml = cmd.ExecuteXmlReader())
{
   xml.Read();
   categories = xml.ReadOuterXml();
}

然后将其传递给我需要使用这些数据创建树视图的 ASP.NET 类。

我需要考虑Parent_ID 来制作树视图,以正确制作类别和子类别节点。

而且我认为应该使用递归算法。

我该怎么做?

【问题讨论】:

  • 您自己发布了解决方案。将它传递给一个 ASP.NET 类,我需要用这些数据创建一个树视图,然后考虑 Parent_ID 制作树视图来制作类别和子类别节点。执行这些步骤有什么问题?
  • 问题是如何使用这些信息制作树形视图:D
  • 您需要遍历您的 xml 并创建节点。不知道怎么循环xml?
  • 我可以用 Linq2XML 做到这一点,但考虑到 Parent_ID,我不知道如何创建树视图。例如,我有 ID=1 的类别 News 和 ID=2 且 Parent_ID=1 的类别 SportNews。我想让 SportNews 在树形视图中成为 News 的子项。我需要检查我所有的类别。
  • 你可以这样做 doc.Descendants("Category").where(x=>x.Attributes("Name").Single().Value == "any value")

标签: c# asp.net sql-server recursion treeview


【解决方案1】:

既然您有 XML 数据,我建议您尝试使用XmlDataSource。由于 XmlDataSource 是 HierarchicalDataSourceControl,因此您的 TreeView 可以使用它来填充自身。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    • 2013-04-27
    • 1970-01-01
    • 2015-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多