Domanda

devo 2 liste: le imprese ei lavoratori. Nelle aziende ho un campo di testo Nome e dipendenti ho una ricerca per aziende basati sul nome della società.

Quello che sto cercando di realizzare è quello di ottenere tutti i dipendenti relativi a nome di una società specifica.

gettting i campi relativi tra le 2 liste:

SPList list = SPContext.Current.Web.Lists[ID];
SPRelatedFieldCollection relatedFields = list.GetRelatedFields();

Come tutti i valori degli elementi secondari:

SPList childList = SPContext.Current.Web.Lists[relatedFields[0].ListId];
SPFieldLookup lookupField = childList.Fields[relatedFields[0].FieldId] as SPFieldLookup;

foreach (SPListItem item in childList.Items)
{
    object rawValue = item[relatedFields[0].FieldId];
    if (rawValue !=null)
    {
        if (lookupField.AllowMultipleValues)
        {
            SPFieldLookupValueCollection values = item[relatedFields[0].FieldId] as SPFieldLookupValueCollection;

        }
        else
        {
            SPFieldLookupValue value = new SPFieldLookupValue(rawValue.ToString());
        }
    }
}

Così come posso filtrare l'elenco bambino per ottenere solo i dipendenti specifici da una singola azienda (come società = "Microsoft")? Tenete a mente che 2 aziende potrebbero avere lo stesso nome, quindi non posso basato la mia soluzione al valore.

Grazie,

È stato utile?

Soluzione

Credo che stavo lavorando troppo duro e bisogno di una pausa dal codice per vedere l'ovvio ...

ho scoperto di avere il SPListItem.ID sulla voce genitore vi darà il rapporto con SPFieldLookupValue.LookupId sulla voce del bambino.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top