Desenvolvimento - Sharepoint - Dev
Manipulando Itens de Lista Programaticamente no SharePoint
Neste tutorial iremos demonstrar como Manipular Itens de Lista Programaticamente no SharePoint.
por Wagner AmorimOverview
Neste tutorial iremos demonstrar como Manipular Itens de Lista Programaticamente no SharePoint.
Solução
As listas no SharePoint são geralmente utilizadas para armazenar informações dos usuários nos sites, existem vários tipos de lista, quando um site é criado algumas listas pré-definidas são criadas automaticamente, mas não quero me aprofundar no conceito de listas, pois esse não é o foco do Tutorial.
Para maiores informações sobre listas no SharePoint acesse: http://office.microsoft.com/en-us/sharepointtechnology/HA011199881033.aspx?pid=CH011424561033.
É comum a necessidade de manipularmos listas programaticamente no SharePoint. Por esse motivo decidi escrever um tutorial sobre esse assunto, as listas são muito importantes e muito utilizadas nas aplicações SharePoint.
Enfim, vamos ao que interessa, abaixo listo os códigos necessários para Exibir, Editar, Adicionar e Excluir Itens em uma Lista Programaticamente no SharePoint.
Nota: Para execução dos códigos abaixo utilizamos os “namespaces” do SharePoint Microsoft.SharePoint e Microsoft.SharePoint.Utilities.
1. Exibir Itens da Lista
Abaixo vamos apresentar como exibir itens de uma lista específica no SharePoint, de uma forma simples, utilizando critérios de busca.
Com o objetivo de melhorar a performance da query nas listas, iremos utilizar CAML, que é uma linguagem de marcação baseada em XML utilizada no Windows SharePoint Services, para maiores informações de CAML, acesse: http://msdn.microsoft.com/en-us/library/ms426449.aspx.
Veja exemplo abaixo:
using (SPSite meuSite = new SPSite("http://tutorials"))
{
using (SPWeb web = meuSite.OpenWeb())
{
//Acessando a lista "CustomList"
SPList MinhaLista = web.Lists["CustomList"];
//Construindo a Query CAML
SPQuery oQuery = new SPQuery();
oQuery.Query = "<Query><Where><Geq><FieldRef Name="Idade" /><Value Type="Number">20</Value></Geq></Where></Query>";
//Criando uma coleção de itens, utilizando a Query CAML
SPListItemCollection collListItems = MinhaLista.GetItems(oQuery);
foreach (SPListItem oListItem in collListItems)
{
//Exibindo o resultado na tela
Response.Write(SPEncode.HtmlEncode(oListItem["Nome"].ToString()) + " - " + SPEncode.HtmlEncode(oListItem["Idade"].ToString()) + "<BR>");
}
}
}
No exemplo acima utilizei o CAML para filtrar o retorno de uma lista, utilizei uma lista que possuía um campo “Idade” do tipo numérico e meu critério da busca era retornar todos os registros da lista que possuíam esse campo com valor superior a 20.
Nota: Lembrando que o CAML utiliza os “internal names” para realizar suas queries em colunas de lista. Também recomendo que utilizem a ferramenta “CAML Query Builder” para ajudá-los na criação das queries, faça o download em http://www.u2u.be/res/Tools/CamlQueryBuilder.aspx.
Esse foi um exemplo simples de como exibir programaticamente itens de uma lista no SharePoint, é claro que é possível melhorar facilmente esse código.
2. Editar Itens da Lista
Abaixo exploramos como editar itens de lista programaticamente, segue o código:
using (SPSite meuSite = new SPSite("http://tutorials"))
{
using (SPWeb web = meuSite.OpenWeb())
{
//Permitindo atualizações no Banco
web.AllowUnsafeUpdates = true;
//Acessando a lista "CustomList"
SPList MinhaLista = web.Lists["CustomList"];
//Acessando o item da lista pelo ID "1"
SPListItem item = MinhaLista.GetItemById(1);
//Atualizando o campo Idade
item["Idade"] = "25";
//Atualizando o banco
item.Update();
//Restaurando a segurança, bloqueando atualizações "GET" no banco.
web.AllowUnsafeUpdates = false;
}
}
Nesse exemplo, atribuímos uma propriedade (AllowUnsafeUpdates) do objeto SPWeb para “true”, essa propriedade permite atualizações no banco do SharePoint vindo de requisições GET, sem a necessidade de validações de segurança.
Notem que acessamos o item desejado pelo método GetItemById do objeto SPListItem, esse método nos permite acessar um item de lista pelo seu ID, nesse caso utilizei um ID conhecido e estático “1”.
3. Adicionar Itens na Lista
Abaixo exploramos como incluir itens na lista programaticamente, segue o código:
using (SPSite meuSite = new SPSite("http://tutorials"))
{
using (SPWeb web = meuSite.OpenWeb())
{
//Permitindo atualizações no Banco
web.AllowUnsafeUpdates = true;
//Acessando a lista "CustomList"
SPList MinhaLista = web.Lists["CustomList"];
//Adicionando item na lista
SPListItem item = MinhaLista.Items.Add();
item["Nome"] = "Wagner Amorim";
item["Idade"] = 23;
//Atualizando o banco
item.Update();
//Restaurando a segurança, bloqueando atualizações "GET" no banco.
web.AllowUnsafeUpdates = false;
}
}
4. Excluir Itens da Lista
Abaixo exploramos como excluir itens da lista programaticamente, segue o código:
using (SPSite meuSite = new SPSite("http://tutorials"))
{
using (SPWeb web = meuSite.OpenWeb())
{
//Permitindo atualizações no Banco
web.AllowUnsafeUpdates = true;
//Acessando a lista "CustomList"
SPList MinhaLista = web.Lists["CustomList"];
//Acessando o item da lista pelo ID "1"
SPListItem item = MinhaLista.GetItemById(2);
//Excluindo o item atual
item.Delete();
//Restaurando a segurança, bloqueando atualizações "GET" no banco.
web.AllowUnsafeUpdates = false;
}
}
Conclusão
Nesse tutorial nós exploramos de uma forma simples como programaticamente podemos manipular itens de uma lista, espero que tenham gostado. ;).- Usando Client Object Model do SharePoint 2010 para melhorar a Experiência do Usuário (UX)Sharepoint - Dev
- Integrando Microsoft ASP .NET AJAX com SharePointSharepoint - Dev
- Tratamento de Exceções no SharePointSharepoint - Dev
- Utilizando Campos de Consulta (Lookup) ProgramaticamenteSharepoint - Dev
- Recuperando valor de uma coluna do tipo ChoiceSharepoint - Dev