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:
- using System;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Text;
- using Microsoft.SharePoint;
- namespace SPFarmSolution.WebPart_SPListItemCollection
- {
- public partial class WebPart_SPListItemCollectionUserControl : UserControl
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- StringBuilder sonuc = new StringBuilder();
- SPList liste = null;
- SPWeb web = SPContext.Current.Web;
- web.AllowUnsafeUpdates = true;
- liste = web.Lists["Announcements"];
- SPListItemCollection elemanlar = liste.Items;
- sonuc.Append("Liste adı : " + liste.Title + "<br/>");
- sonuc.Append("Eleman sayısı : " + liste.ItemCount + "<br/>");
- SPListItem yeniEleman = elemanlar.Add();
- yeniEleman["Title"] = "Yeni Eleman";
- yeniEleman.Update();
- sonuc.Append("Eleman sayısı : " + liste.ItemCount + "<br/>");
- System.Data.DataTable tablo = elemanlar.GetDataTable();
- sonuc.Append("Data Row sayısı : " + tablo.Rows.Count + "<br/>");
- Label1.Text = sonuc.ToString();
- }
- }
- }
Şimdi bunu denemek için yeni bir sayfa ekleyelim.
Sayfa düzenleme ekranında Insert -> Web Part -> Custom -> WebPart_SPListItemCollection’i sayfamıza ekleyelim.
Kaydedelim ve sonucunu görelim:
Veysel Uğur KIZMAZ