2010-10-15 39 views
1

正如標題所示:在SharePoint 2010中,我需要以編程方式創建一個視圖,讓我可以過濾列表上的項目(人員列表)。在這個人名單中我有一個查詢字段,指的是另一個列表(項目):我需要只顯示在確定的項目上工作的人(作爲字符串傳遞)SP2010:如何創建一個過濾查找字段的列表視圖

我已經創建了一個使用此代碼的示例視圖:

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(); 
       } 
      } 
     } 
    } 

它過濾了一個名爲名爲「發佈」選擇類型字段「書」,尋找由「阿爾法」出版的所有書籍

我需要知道名單是如何在過濾器查詢字段而不是chioce字段,因爲如果我只是在查詢中將「查詢」替換爲「選擇」,則它不起作用=(

謝謝

回答

0

您可以使用LookupID作爲類型嗎?這將確保你只有一場比賽。檢查查詢字段的內容頁面,CAML & LINQ:

+0

一定有什麼錯......我曾經試了一次,顯然沒有修改任何東西,它的工作原理(使用常規的「查找」作爲值類型)。最奇怪的是,如果我嘗試使用「文本」值類型進行過濾,將視圖應用於列表時出現此錯誤:「一個或多個字段類型未正確安裝。轉到列表設置頁面以刪除這些田「。 = O – Maik 2010-10-15 10:31:36

+0

關於字段類型錯誤:您是否在使用列的內部名稱?看到這個常見問題:http://www.sharepoint-tips.com/2007/04/one-of-more-field-types-are-not.html – 2010-10-16 09:16:27

+0

感謝它現在的作品! – Maik 2010-10-18 07:06:13

相關問題