Veysel Uğur KIZMAZ

Sharepoint 2010 SPListItemCollection Sınıfı

27.09.2011Okunma Sayısı: 4272Kategori: Sharepoint 2010

Bu makalemizde Visual Studio ile Sharepoint development’ta liste işlemleri için kullanılan SPListItemCollection sınıfını inceleyelim.

SPListItemCollection nesnesi SPListItem nesnelerinden oluşan bir objedir. SPList üzerinden SPQuery ve SPSiteDataQuery sorguları kullanılarak elde edilen bir collectiondır. Şimdi bu sınıfın önemli method ve propertylerini inceleyelim.
 
Property/Method
Açıklama
List
Koleksiyona bağlı root SPList’I döndürür
Item
İstenen SPListItem’I döndürür
Add
Yeni bir SPListItem eklenmesini sağlar
Fields
Koleksiyondaki fieldları döndürür
Xml
Koleksiyondaki tüm veriyi XMLDATA formatında döndürür
Count
Koleksiyondaki eleman sayısını döndürür (klasörler hariç)
Delete
Koleksiyondan eleman siler
GetItemById
Koleksiyondan ID’sine gore eleman getirir
GetDataTable
Liste elemanlarını System.Data.DataTable türünde döndürür
DeleteItemById
ID’ye gore liste elemanını siler
 
Bu işlemleri bir örnekte inceleyelim.
Yeni bir Empty Sharepoint Project oluşturalım (Farm solution) ve bir Visual Web Part ekleyelim.
 
 
Bir label sürükleyip bırakalım ve code behind’a geçelim ve şu şekilde düzenleyelim:
 
  1. using System;
  2.  
  3. using System.Web.UI;
  4.  
  5. using System.Web.UI.WebControls;
  6.  
  7. using System.Web.UI.WebControls.WebParts;
  8.  
  9. using System.Text;
  10.  
  11. using Microsoft.SharePoint;
  12.  
  13. namespace SPFarmSolution.WebPart_SPListItemCollection
  14.  
  15. {
  16.  
  17.     public partial class WebPart_SPListItemCollectionUserControl : UserControl
  18.  
  19.     {
  20.  
  21.         protected void Page_Load(object sender, EventArgs e)
  22.  
  23.         {
  24.  
  25.             StringBuilder sonuc = new StringBuilder();
  26.  
  27.             SPList liste = null;
  28.  
  29.             SPWeb web = SPContext.Current.Web;
  30.  
  31.             web.AllowUnsafeUpdates = true;
  32.  
  33.             liste = web.Lists["Announcements"];
  34.  
  35.             SPListItemCollection elemanlar = liste.Items;
  36.  
  37.             sonuc.Append("Liste adı : " + liste.Title + "<br/>");
  38.  
  39.             sonuc.Append("Eleman sayısı : " + liste.ItemCount + "<br/>");
  40.  
  41.             SPListItem yeniEleman = elemanlar.Add();
  42.  
  43.             yeniEleman["Title"] = "Yeni Eleman";
  44.  
  45.             yeniEleman.Update();
  46.  
  47.             sonuc.Append("Eleman sayısı : " + liste.ItemCount + "<br/>");
  48.  
  49.             System.Data.DataTable tablo = elemanlar.GetDataTable();
  50.  
  51.             sonuc.Append("Data Row sayısı : " + tablo.Rows.Count + "<br/>");
  52.  
  53.             Label1.Text = sonuc.ToString();
  54.  
  55.             
  56.  
  57.         }
  58.  
  59.     }
  60.  
  61. }
  62.  
  63.   
 
 
Şimdi bunu denemek için yeni bir sayfa ekleyelim.
 
Description: Description: C:\Users\Administrator\Desktop\Makale\SP2010_VisualStudio2010_Giris\SP2010_VisualStudio2010_Giris_47.png
 
 
Sayfa düzenleme ekranında Insert -> Web Part -> Custom -> WebPart_SPListItemCollection’i sayfamıza ekleyelim.
 
 
Kaydedelim ve sonucunu görelim:
 
 
 
 
 
Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
www.ugurkizmaz.com