0
A
回答
0
您需要一個遞歸樹結構。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
FolderTree tree = new FolderTree();
tree.BuildTree();
}
}
public class FolderTree
{
public static FolderTree root { get; set; }
public int id { get; set; }
public List<FolderTree> children { get; set; }
static DataTable dt { get; set; }
public void BuildTree()
{
dt = new DataTable();
dt.Columns.Add("FolderID", typeof(int));
dt.Columns.Add("PARENT_ID", typeof(int));
dt.Rows.Add(new object[] { 1, 0 });
dt.Rows.Add(new object[] { 2, 0 });
dt.Rows.Add(new object[] { 3, 2 });
dt.Rows.Add(new object[] { 4, 1 });
dt.Rows.Add(new object[] { 5, 0 });
dt.Rows.Add(new object[] { 6, 4 });
dt.Rows.Add(new object[] { 7, 3 });
dt.Rows.Add(new object[] { 8, 0 });
dt.Rows.Add(new object[] { 9, 1 });
dt.Rows.Add(new object[] { 10, 8 });
dt.Rows.Add(new object[] { 11, 0 });
dt.Rows.Add(new object[] { 12, 11 });
dt.Rows.Add(new object[] { 13, 0 });
dt.Rows.Add(new object[] { 14, 0 });
dt.Rows.Add(new object[] { 15, 2 });
root = new FolderTree();
BuildTreeRecursive(0, root);
}
void BuildTreeRecursive(int parentID, FolderTree parent)
{
parent.id = parentID;
foreach(DataRow folder in dt.AsEnumerable().Where(x => x.Field<int>("PARENT_ID") == parentID))
{
if (parent.children == null)
{
parent.children = new List<FolderTree>();
}
FolderTree child = new FolderTree();
int childID = folder.Field<int>("FolderID");
parent.children.Add(child);
BuildTreeRecursive(childID, child);
}
}
}
}
相關問題
- 1. 從一個表中獲取數據並將其存儲到另一個表中
- 2. Yii 2:使用保存的數據表的值將數據保存到一個表後填充另一個表
- 3. 將MySQL表中的數據保存到另一個表中
- 4. 獲取表的列表,並將其保存到另一個表
- 5. 將數據從一個數據表導入/合併到另一個數據表到另一個
- 6. 如何將值存儲到一個數據表到另一個數據表?
- 7. 將數據添加到表中並將其保存到數據庫中
- 8. 嘗試將數據從一個表合併到另一個表
- 9. UPD上的SQL將舊數據保存到另一個表中
- 10. 將gridview中的數據保存到另一個表中yii2
- 11. cakephp將數據保存到另一個表
- 12. 如何處理來自一個表的數據,並將其保存到MySQL中的另一個表中?
- 13. 將數據過濾並綁定到數據表
- 14. LINQ過濾一個數據庫列表與另一個數據庫列表
- 15. 從一個SQL表複製數據並將其插入到另一個表中
- 16. 將數據保存到多個表中
- 17. 將數據從一個數據表複製到另一個數據表
- 18. 將數據從一個數據庫表複製到另一個數據庫表?
- 19. 如何將數據從一個數據表傳輸到另一個數據表
- 20. 將數據從一個數據表傳輸到另一個數據表
- 21. 將多個數據透視表合併到另一個數據透視表
- 22. 將數據從一個數據庫保存到另一個數據庫
- 23. 過濾數據到另一個菜單
- 24. R:創建表並將其保存到數據框
- 25. 如何從一個數據庫表中檢索ImageId並將其存儲在另一個數據庫表中
- 26. 使用JAVA複製一個表數據並將其插入到同一數據庫中的另一個表中?
- 27. vue.js將數據保存在一個新的數組中,並將其顯示在另一個表中
- 28. 保存節點後將節點數據保存到另一個表
- 29. 用於將數據從一個表插入另一個表的另一個數據庫中的存儲過程
- 30. 將數據複製到另一個表
你到目前爲止試過了什麼?你有任何代碼嗎? – Joseph