正如标题所说:在sharepoint 2010中,我需要以编程方式创建一个视图,让我可以过滤列表中的项目(人员列表)。在这个人列表中,我有一个查找字段,引用另一个列表(项目):我只需要显示在确定的项目上工作的人(以字符串形式传递)
我使用此代码创建了一个示例视图:
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("http://dev_seventeen:999"))
{
using (SPWeb web = site.OpenWeb())
{
SPList books = web.Lists["Books"];
StringCollection fields = new StringCollection();
fields.Add("Title");
fields.Add("Publisher");
fields.Add("Autore");
var query = new XElement("Where",
new XElement("Eq",
new XElement("FieldRef", new XAttribute("Name", "Publisher")),
new XElement("Value", new XAttribute("Type", "Choice"), "Alpha")
)
).ToString(SaveOptions.DisableFormatting);
SPView view = books.Views.Add("TestView",
fields,
query,
100,
false,
false,
Microsoft.SharePoint.SPViewCollection.SPViewType.Html,
false
);
Console.WriteLine(query);
Console.ReadLine();
}
}
}
}
它在名为“Publisher”的选择类型字段上过滤名为“Books”的列表,查找“Alpha”发布的所有书籍
我需要知道的是如何过滤查找字段而不是一个查找字段,因为如果我只是在查询中放入“查找”而不是“选择”它不起作用=(
由于
答案 0 :(得分:0)
您可以使用LookupID
作为类型吗?那样可以确保你只有一场比赛。检查以下页面的查找字段,CAML& LINQ: