1

正如标题所说:在 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”出版的所有书籍

我需要知道的是如何过滤查找字段而不是选择字段,因为如果我只是在查询中输入“查找”而不是“选择”它不起作用=(

谢谢

4

1 回答 1

0

可以LookupID用作类型吗?这将确保您只有一场比赛。检查以下页面的查找字段、CAML 和 LINQ:

于 2010-10-15T10:22:31.947 回答