我使用的是带有C#的DevExpress的TreeList
。我有这样的场景,我有两张桌子。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。有人能提出任何简单的解决方案吗?
我认为,在这种情况下,应该实现动态数据加载,而不是使用绑定模式手动解析文件/文件夹关系。
相关链接:
如何:通过事件动态加载数据
XtraTreeList 中的树生成算法
我找到了一个快速简单的解决方案,我在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";
问题解决了!