0

我正在使用TreeList带有 C# 的 DevExpress。我有这样的场景,我有 2 张桌子。Table # 1包含目录信息并Table # 2包含文件信息。列名Parent是目录/文件所在的目录。

Folder Table
ID  Parent  Name
1     1     Folder1
2     1     Folder2
3     2     Folder3

File Table
ID   Parent   Name
1      1      file1.txt
2      2      file2.txt
3      2      file3.txt

我将两个表都存储在dt

DataTable dt
ID  Parent  Name
1      1    Folder1
2      1    Folder2
3      2    Folder3
1      1    file1.txt
2      2    file2.txt
3      2    file3.txt

做这样的事情

treelist.datasource = dt;
treelist.parentfieldname = "Parent";

我想在treelist. 这不起作用,因为我具有相同的文件和文件夹 ID。任何人都可以提出任何简单的解决方案吗?

4

2 回答 2

1

我相信,在这种情况下,您应该实现动态数据加载,而不是使用绑定模式来手动解析文件/文件夹关系。

相关链接:
如何:通过
XtraTreeList 中的事件树生成算法动态加载数据

于 2012-09-07T04:38:25.897 回答
1

我找到了一个快速简便的解决方案,我在dt

Folder Table
ID    Parent  Name
1       1     Folder1
2       1     Folder2
3       2     Folder3

File Table
ID    Parent   Name
4       1      file1.txt
5       2      file2.txt
6       2      file3.txt

将两个表合并到dt

DataTable
ID    OrigID   Parent  Name
1        1       1     Folder1
2        2       1     Folder2
3        3       2     Folder3
4        1       1     file1.txt
5        2       2     file2.txt
6        3       2     file3.txt

写了相同的以下几行

treelist.datasource = dt;
treelist.parentfieldname = "Parent";

问题解决了!

于 2012-09-07T05:50:16.473 回答