14 Mart 2009 Cumartesi

Sharepoint'te Picture Libraryleri ile işlem yapmak

Geçen gün bir projemiz kapsamında bir Web'deki Picture Libraryleri olusturulma tarihine göre en büyük 3ünü çekmem ve göstermem istendi. Listelerin itemları için CAML Queryler ile sorgular olusturup list itemlarını istediğimiz kriterlere göre çekebiliyorduk. Fakat sitedeki Picture Libraryler için böyle bir imkanımız yok sanırım, uzun aramalar sonucu kolay bir yol bulamadım ve aşağıdaki yolu izleyerek problemi çözdüm, umarım faydası olur herkese..

SPWeb webGalleries=SPContext.Current.Site.RootWeb.Webs["Galeriler"];
List libraries = new List();
foreach (SPList lib in webGalleries.Lists)
{
if (lib is SPPictureLibrary) //Eğer liste Picture Library Tipindeyse, kendi Collection ıma ekliyorum
libraries.Add((SPPictureLibrary)lib);
}

Yukarıdaki kod bloğuyla Webimizdeki Picture Library tipindeki listeleri kendi olusturdugumuz listeye ekliyoruz. Bundan sonrası hepimizin bildiği sorting işlemi.

for (int i = 0; i < libraries.Count; i++)
{
for (int j = i + 1; j < libraries.Count; j++)
{
if (libraries[i].Created > libraries[j].Created)
{
SPPictureLibrary temp = libraries[j];
libraries[j] = libraries[i];
libraries[i] = temp;
}
}

}
Bu şekilde Picture Librarylerimizi Yaratılma Tarihine göre sıraladık basit bir sorting algoritması kullanarak. Bundan daha basit bir şekilde Picture Libraryleri sorgulama imkanı olabileceğini düşünmekle beraber, sizden alternatif önerilerinizi bekliyorum. Bir sonraki postta görüşürüz..

Hiç yorum yok:

Yorum Gönder