我正在尝试从以下形式的SharePoint列表中获取数据:
ID,Title,Parent_ID,其他一些不重要的东西。
1, GroupA, null 2, GroupB, null 3, GroupC, null 4, ASubA, 1 5, ASubB, 1 6, BSubA, 2 7, CSubA, 3 8, CSubB, 3 9, CSubC, 3
我想将其干净地翻译成webpart上的下拉列表,如下所示:
显示全部
A组
ASubA
ASubB
B族
BSubA
C组
CSubA
CSubB
CSubC
我可以将它与一些递归和一些DataTable合并放在一起,但是对于下一个出现的人来说,它会让人感到困惑和难以维护。我正在寻找一种顺利实现这一目标的方法。我觉得我应该能够通过CAML查询中的一些GroupBy实现这一点,但是我没有在SharePoint上做太长时间。
是否有一些分层数据结构我可以将其全部插入,然后按顺序将其拉出来?或者我没想到的一些查询语法?
提前致谢。
答案 0 :(得分:0)
为什么不使用Group_ID而不是Parent_ID:
1,GroupA,1
2,GroupB,2
3,GroupC,3
4,ASUBA,1
5,ASUBB,1
6,BSubA,2
7,CSubA,3
8,CSubB,3
9,CSubC,3
您现在可以在查询中按Group_ID排序。
或者,您可以使用两个列表,一个用于组,另一个用于具有查阅列的subs。
答案 1 :(得分:0)
您使用的是哪个版本的SharePoint?如果您使用的是SharePoint 2010,而不是创建自己的SharePoint 2010,我建议您使用Managed Metadata:
托管元数据是您可以定义的集中管理术语的分层集合,然后将其用作Microsoft SharePoint Server 2010中项目的属性。
答案 2 :(得分:0)
另一个想法:合并第3列和第1列,并按结果值进行排序
GroupA,1
ASUBA,14
ASUBB,15
GroupB,2
BSubA,26
GroupC,3
CSubA,37
CSubB,38
CSubC,39
(按字母顺序排序数字)
当然,如果您有更长的列表,则需要插入一些零。