- Guida introduttiva
- Amministrazione e monitoraggio SharePoint 2007
- Deployment
- Introduzione a CAML
- Introduzione all’Object Model
- Usare le Features e Solutions
- Utilizzo dei Site e dei Web
La maggior parte delle azioni che intraprenderemo con le liste saranno:
- Ottenere l’elenco
- Ottenere il contenuto
- Aggiungerne/rimuoverne
- Aggiungere/rimuovere il contenuto
Liste
Le liste sono il modello che utilizza SharePoint per salvare gli items.Quindi, per un calendario, una lista di tasks o un elenco di documenti, SharePoint utilizza un tipo che definito lista e l’elemento salvato all’interno della lista è definito item.
Le liste standard di SharePoint 2007 sono:
- Announcements
- Contacts
- Discussion Board
- Links
- Calendar
- Tasks
- Project Tasks
- Issue Tracking
- Survey
- Custom
- Custom list in Datasheet view
- KPI (MOSS)
- Languages and translators (moss)
- Import spreadsheet
Per delle informazioni più da Site Builder fate pure riferimento al seguente link: http://office.microsoft.com/en-gb/sharepointtechnology/HA011199881033.aspx
Ottenere l’elenco
Per ottenere l’elenco di liste del nostro website ci dovremo riferire alla proprietà Lists della SPWeb la quale ci farà ottenere un’istanza di tipo SPListCollection.
Di seguito un esempio:
namespace ConsoleApplication1 {
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
class Program
{
static void Main(string[] args)
{
SPSite site = new SPSite(args[0]);
SPWeb web = site.AllWebs[0];
foreach (SPList list in web.Lists)
{
Console.WriteLine("{0}{1} - {2} item.", list.Hidden ? "*" : "", list.Title, list.ItemCount);
Console.WriteLine("Autore {0}", list.Author.Name);
Console.WriteLine("{0}", list.Description);
Console.WriteLine("----------------------------------------------------");
}
Console.WriteLine("\nNumero liste trovate: {0}.", web.Lists.Count);
Console.ReadLine();
}
}
}
Elenco degli Item nella lista
Per ottenere la lista degli items all’interno della lista, faremo riferimendo alla proprietà Items dell’istanza SPList; la quale ci restituirà un’istanza di tipo SPListItem:namespace EnumListItems {
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
class Program
{
static void Main(string[] args)
{
SPSite rootSite = new SPSite(args[0]);
SPWeb web = rootSite.AllWebs["Budget Test Site"];
SPList taskList = web.Lists["Tasks"];
foreach (SPListItem item in taskList.Items)
Console.WriteLine("--- {0}:\n\tStato:{1}\n\tProgresso:{2}%\n\tData:{3}", item.Title, item["Status"],
(double)item["PercentComplete"] * 100, item["DueDate"]);
Console.ReadLine();
}
}
}
Da notare come accediamo alle proprietà dell’item specificando il nome della colonna o, alternativamente, potremmo specificarne l’index mentre per il Title accediamo direttamente alla proprietà.
Il nome delle colonne varia a seconda della lista utilizzata; vedremo prossimamente perchè è Microsoft ha optato per questa soluzione, quando utilizzeremo una Custom List.
Inserire, rimuovere e aggiornare liste
Come con tutti gli altri oggetti di SharePoint, anche le liste posso essere aggiunte, rimosse o modificate.Tramite la proprietà Lists della classe SPWeb otteniamo l’istanza della classe SPListCollection sulla quale possiamo agire.
Il metodo Add presenta 5 overloads:
- SPListCollection.Add (String, String, SPListTemplate)
- SPListCollection.Add (String, String, SPListTemplateType)
- SPListCollection.Add (String, String, SPListTemplate, SPDocTemplate)
- SPListCollection.Add (String, String, String, String, Int32, String)
- SPListCollection.Add (String, String, String, String, Int32, String, SPListTemplate.QuickLaunchOptions)
Ecco un piccolo esempio dove aggiorniamo la lista Custom Task List e cancelliamo la lista Second Task List:
namespace ConsoleApplication1
{
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
class Program
{
static void Main(string[] args)
{
SPSite rootSite = new SPSite(args[0]);
SPWeb rootWeb = rootSite.AllWebs["Budget Test Site"];
SPListTemplate sourceTemplate = rootWeb.ListTemplates["Tasks"];
Guid newListGuid = rootWeb.Lists.Add("Custom Task List", "Custom Task List", sourceTemplate);
SPList newList = rootWeb.Lists[newListGuid];
newList.Description = "Modified Custom Task List";
newList.Update();
Guid secondNewListGuid = rootWeb.Lists.Add("Second Task List", "Second Task List", sourceTemplate);
SPList secondNewList = rootWeb.Lists[secondNewListGuid];
secondNewList.Delete();
Console.WriteLine("List manipulations complete.");
Console.ReadLine();
}
}
}
Modificare gli items
Modificare gli elementi, item, all’interno della lista è molto semplice, come tutte le altre operazioni; bisogna solamente far attenzione al nome delle colone, come già scritto nel post sul CAML:
namespace ConsoleApplication1
{
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
class Program
{
static void Main(string[] args)
{
SPSite rootSite = new SPSite(args[0]);
SPWeb web = rootSite.AllWebs["Budget Test Site"];
SPList taskList = web.Lists["Custom Task List"];
SPListItem newTask = taskList.Items.Add();
newTask["Title"] = "Finish SharePoint 2010 Unleashed";
newTask["DueDate"] = SPUtility.CreateISO8601DateTimeFromSystemDateTime(DateTime.Now.AddDays(30));
newTask["PercentComplete"] = 0.1;
newTask.Update();
newTask = taskList.Items.Add();
newTask["Title"] = "This will be deleted.";
newTask.Delete();
taskList.Update();
Console.WriteLine("List item manipulation completed.");
Console.ReadLine();
}
}
}
Notate il metodo CreateISO8601DateTimeFromSystemDateTime della classe SPUtility usata per convertire un System.DateTime in un tipo comprensibile a SharePoint.
Ultime note quando lavoriamo con una lookup list.
Controllando gli elementi nella lista otteniamo qualcosa del tipo:
1;#Primo Elemento Lookup List
in questo caso se volessimo cambiare/aggiungere dalla colonna di lookup il valore, allora useremo l’id della tabella di lookup:
myItem["MyColumn"] = "1";
No comments:
Post a Comment