2011-07-01 18 views
5

Büyük bir belge kitaplığım var (şu anda ~ 6000 belge) ve bir özel alan değerine (kitaplıktaki özel sütun) dayalı bir belge bulmam gerekiyor .Sharepoint 2010 İstemci Nesne Modeli - Büyük Kitaplık - Yinelemesiz öğe bul

Bu belgeyi 6000 belgenin tümünü yinelemeden geri alma yolu var mı?

Bir noktada yinelemenin gerçekleşmesi gerektiğini anlıyorum, ancak SharePoint sunucu tarafında olmasını tercih ederim, hepsini istemci tarafına aktarmayı tercih ediyorum, ardından belgeyi kiraz olarak al.

Teşekkürler

cevap

3

Sharepoint'i sorgulayabilirsiniz. Sunucuda yürütülen ve yalnızca belirttiğiniz ölçütlerle eşleşen öğeleri getiren bir CAML sorgusu düzenlersiniz. Aramak için özel sütunun adını belirtin ve bulmak için değeri belirtin. Verimlilik için, yalnızca birkaç alan için geri isteyebilirsiniz (örneğin belge URL'si). Bu nedenle, öğeyi bulmak için listedeki belgeler üzerinde yinelemenize gerek yoktur.

Bazı tartışmaları şu adreste bulabilirsiniz: http://msdn.microsoft.com/en-us/library/ee956524.aspx Ayrıca javascript veya silvelight'dan nasıl yapılacağını da bulabilirsiniz.

Örnek CAML:

Caml sorgu da dosya belgeyi geri bu
 CamlQuery camlQuery = new CamlQuery(); 
    camlQuery.ViewXml = 
     @"<View> 
      <Query> 
       <Where> 
       <Eq> 
        <FieldRef Name='FileLeafRef'/> 
        <Value Type='Text'>Test.docx</Value> 
       </Eq> 
       </Where> 
       <RowLimit>1</RowLimit> 
      </Query> 
      </View>"; 
+0

. Belge Kimliği ile nasıl sorgu yaparsınız? Belge Kimliği, Doküman Kimliği Değerini, vb. Hiç denemeden denedim ... – Russell

+0

Eğer bu Sharepoint'in ID alanıysa, bu isim "ID" olurdu, Özel alan adınız buysa, "Document_x0020_ID" olacaktır. . Sharepoint alan adlarındaki boşlukları x0020 ile değiştirir. Ayrıca, Sharepoint çok uzunsa alan adını keser ve ayrıca alanın türünü bilmeniz gerekir. Eğer yerleşik "ID" alanı ise, bu tür örneğin Counter: 123. Alanınız özel bir metin alanıysa: xxxx çalışmalıdır. – KJRB

+0

Yukarıdaki öneri işe yaramazsa (belki de orijinal alan adı Document ID'den farklı bir şekilde ayarlanmışsa), "Document ID" sütununuzun iç alan adı nı bulmanız gerekir. Bunu görmenin bir yolu, söz konusu site sütununun URL'sine bakmaktır. Bu sayfanın URL'sinde dahili bir ad görmelisiniz (alan =). Alanın Görünen Adı, interanl adıyla aynı değildir. CAML sorguları dahili adları kullanır. – KJRB

İlgili konular