SharePoint Tip #5: Conteúdo de um campo do tipo Lookup

Em SharePoint, utilizam-se campos do tipo Lookup (SPFieldLookup) quando se pretende que exista uma relação 1-N entre duas listas. Ao colocar-se um campo deste tipo numa lista A, é-nos dada a possibilidade de seleccionar uma lista B do mesmo site e um campo dessa lista. São os valores assumidos por esse campo da lista B que aparecem na dropdown list quando o utilizador edita o campo lookup na lista A.

Depois desta pequena introdução, é importante perceber como é que o SharePoint guarda os valores deste tipo de campos. Uma vez que a única forma de identificar univocamente um item de uma lista é através do seu ID (isto porque não podemos garantir que o utilizador que populou a lista não repetiu valores nos restantes campos), o SharePoint tem que guardar este valor no campo lookup. Mas para facilitar, guarda também o valor do campo descritivo (o tal que foi seleccionado na configuração do lookup), separando ambos os valores pelos caracteres ponto-e-vígula e cardinal (;#).

Exemplo:
Se no campo lookup Marca for seleccionado o item com a descrição Porsche, que possui o ID 5 na lista relacionada, o que fica guardado no campo lookup é:

5;#Porsche