la función que está buscando es Term.GetTerms
Usted tendrá que obtener una TaxonomyValue desde su campo
Luego debe obtener la TaxonomySession actual, luego use la TaxonomySession para obtener el Término utilizado en el campo. A partir de ese término, puede usar el campo Padre para obtener el Término principal. Aquí hay un código aproximado para mostrarle los objetos utilizados.
TaxonomyFieldValue v = null; // Notsurehowtodothisbit();
TaxonomySession session = new TaxonomySession(site);
if (session.TermStores != null && session.TermStores.Count > 0)
{
TermStore termStore = session.TermStores[0];
Term t = termStore.GetTerm(v.TermGuid);
Term parentTerm = t.Parent;
TermCollection childTerms = t.GetTerms();
}
Una vez que tenga el árbol, que puede ser capaz de utilizar una consulta CAML para generar una consulta SPList.GetList que trae cualquier cosa etiquetada de esa manera.
no he hecho un experimento en este sentido ... Pero Bart-Jan Hoeijmakers tiene
private SPListItemCollection GetItemsByTerm(Term term, SPList list)
{
// init some vars SPListItemCollection items = null;
SPSite site = SPContext.Current.Site; // set up the TaxonomySession
TaxonomySession session = new TaxonomySession(site);
// get the default termstore TermStore termStore = session.TermStores[0];
// If no wssid is found, the term is not used yet in the sitecollection, so no items exist using the term
int[] wssIds = TaxonomyField.GetWssIdsOfTerm(SPContext.Current.Site, termStore.Id, term.TermSet.Id, term.Id, false, 1);
if (wssIds.Length > 0)
{
// a TaxonomyField is a lookupfield. Constructing the SPQuery
SPQuery query = new SPQuery();
query.Query = String.Format("<Where><Eq><FieldRef Name='MyTaxonomyField' LookupId='TRUE' /><Value Type='Lookup'>{0}</Value></Eq></Where>", wssIds[0]);
items = list.GetItems(query);
}
return items;
}
getTerms es clave para la respuesta. CAML es ideal para una lista o un Webpart de consulta de contenido.Vea mi respuesta actualizada para saber cómo obtener su guía de término inicial y un método para usar la búsqueda en todas las listas y bibliotecas. –