Como Usar o Controle SharePoint MultipleLookupField
: Um Guia Passo a Passo
Ao trabalhar com o SharePoint, você pode se deparar com cenários em que precisa associar vários itens de uma lista a um item em outra lista. Um controle útil para alcançar isso é o MultipleLookupField
. Neste post, vamos guiá-lo através do uso do controle MultipleLookupField
passo a passo, garantindo que você entenda como exibir e gerenciar vários valores de pesquisa dentro de suas web parts.
O Problema: Conectando Duas Listas
O principal desafio é integrar o controle MultipleLookupField
em uma página da web que seja executada no contexto do SharePoint. Você pode querer vincular duas coleções de campos do SharePoint, como tarefas e documentos. Isso requer alguma configuração básica, além de entender como manipular o controle de forma eficaz.
Começando com o MultipleLookupField
Passo 1: Crie Seu Ambiente SharePoint
- Configurar um Site de Equipe: Comece criando um novo site de equipe dentro do SharePoint.
- Adicionar Tarefas: Vá para a lista de Tarefas e crie algumas tarefas.
- Criar um Documento: Carregue um documento na biblioteca de Documentos Compartilhados.
- Criar uma Coluna de Pesquisa:
- Na biblioteca de Documentos Compartilhados, crie uma nova coluna chamada “Relacionado”.
- Defina esta coluna como um campo de Pesquisa que faz referência ao campo “Título” da lista de Tarefas.
- Certifique-se de permitir múltiplos valores para esta coluna.
Passo 2: Criando a Web Part
Para começar a utilizar o MultipleLookupField
, você precisa criar uma web part. Aqui está um exemplo simplificado para orientá-lo nesse processo.
Estrutura Básica da Sua Web Part
Label l;
MultipleLookupField mlf;
protected override void CreateChildControls()
{
base.CreateChildControls();
SPList list = SPContext.Current.Web.Lists["Shared Documents"];
if (list != null && list.Items.Count > 0)
{
LiteralControl lit = new LiteralControl("Associe tarefas a " + list.Items[0].Name);
this.Controls.Add(lit);
mlf = new MultipleLookupField();
mlf.ControlMode = SPControlMode.Edit;
mlf.FieldName = "Relacionado";
mlf.ItemId = list.Items[0].ID;
mlf.ListId = list.ID;
mlf.ID = "Relacionado";
this.Controls.Add(mlf);
Button b = new Button();
b.Text = "Alterar";
b.Click += new EventHandler(bClick);
this.Controls.Add(b);
l = new Label();
this.Controls.Add(l);
}
}
void bClick(object sender, EventArgs e)
{
l.Text = "";
foreach (SPFieldLookupValue val in (SPFieldLookupValueCollection)mlf.Value)
{
l.Text += val.LookupValue.ToString() + " ";
}
SPListItem listitem = mlf.List.Items[0];
listitem["Relacionado"] = mlf.Value;
listitem.Update();
mlf.Value = listitem["Relacionado"];
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
EnsureChildControls();
}
Passo 3: Implantando Sua Web Part
- Compilar e Implantar: Compile seu código e implemente a web part em seu ambiente SharePoint.
- Adicionar a Web Part ao Seu Site: Navegue até a página inicial do seu site de equipe e adicione uma instância da sua nova web part.
Entendendo o Manipulador de Click
O manipulador de evento de clique bClick
é crucial para atualizar a interface do usuário.
- Recuperando Valores: Ele começa recuperando todos os valores selecionados do
MultipleLookupField
e os exibindo. - Atualizando o Item da Lista: Ele atualiza o campo “Relacionado” na lista de documentos com as tarefas selecionadas, garantindo a sincronização entre a interface do usuário e o item da lista.
Notas Adicionais
- O exemplo fornecido é bastante básico: é importante notar que ele carece de um tratamento de erros abrangente e não é destinado para uso em produção. Considere estendê-lo para melhor usabilidade.
- Você pode descobrir que, se comentar a linha
mlf.Value = listitem["Relacionado"];
, a interface do usuário pode não ser sincronizada corretamente com os dados subjacentes, tornando essa linha necessária para a funcionalidade adequada.
Conclusão
Seguindo os passos descritos acima, você pode integrar com sucesso o controle MultipleLookupField
em seu site SharePoint. Isso permite a gestão eficiente de itens relacionados de diferentes listas, aprimorando sua experiência geral no SharePoint. Com um pouco de prática e refinamento, você pode transformar esses princípios básicos em soluções poderosas adaptadas às suas necessidades específicas.
Sinta-se à vontade para entrar em contato com quaisquer perguntas ou compartilhe suas experiências usando o controle MultipleLookupField
no SharePoint!