我如何加入2 sharepoint 2010列表

时间:2012-01-27 07:02:16

标签: sharepoint-2010

使用SP 2007并且需要进行连接时,我只需将表写入sql表,然后使用sql连接表。 我真正需要做的很简单。 我有一个主列表和另一个用户插入记录的列表,让我们说一个子列表。 当用户打开主列表并单击某个项目时,我会将包含其用户名的记录插入子列表 所有我想要显示的用户(基于登录名)是他们没有阅读的项目和什么项目。 在sql我可以做类似的事情

 Select * from master where not in(select from child where username ='blalal')

任何想法。不确定是在客户端还是在对象模型中执行此操作。 当然CAMl没有连接

提前致谢

3 个答案:

答案 0 :(得分:3)

只要两个列表与查找字段相关,就可以在CAML查询中进行连接。

http://msdn.microsoft.com/en-us/library/ie/ee539975.aspx

答案 1 :(得分:0)

或者您可以使用Bendsoft的Camelot .NET Connector来加入任何字段。它支持典型的CRUD命令,包括LEFT和INNER连接以及UNION。

答案 2 :(得分:0)

检查此方法非常容易加入任意数量的列表:Link

cawl_QueryBuilder cawl = new cawl_QueryBuilder();
cawl.Select("Users_Title");
cawl.Select("Users_Age");
cawl.Select("Users_Sex");
cawl.Select("CarBrand");
cawl.Join("UsersList";"OwnerColumn");
cawl.Get('UserCarsList');

StringBuilder Result = new StringBuilder();
foreach (SPListItem item in cawl.ListItemCollection())
{
  Result.Append(item["Users_Title"].ToString() +
                 item["Users_Age"].ToString() +
                 item["Users_Sex"].ToString() +
                 item["CarBrand"].ToString());

}
Label1.Text = Result .ToString();