2009-08-11 10 views
0

Disons que j'ai un tableau de chaînes de noms internes de champs. Comment puis-je obtenir leurs noms d'affichage?Trouver un champ sur le site SharePoint

J'ai cherché une réponse et j'ai trouvé qu'il y avait un constructeur SPFieldCollection(SPWeb web, string strXml). Ma première pensée - yeehaw, je peux passer une CAMLquery et obtenir des objets SPFieldCollection à travailler avec.

Cependant, pour strXML J'ai essayé passer requête suivante CAML:

  • <FieldRef's> (<FieldRef Name='Abc'><FieldRef....)

  • <ViewFields><FieldRef's></ViewFields>

  • <Fields><FieldRef's></Fields>

mais malchanceux. Aucun résultat.

Des idées sur comment faire cela?

+0

VOTRE question n'est pas vraiment claire, pourriez-vous élaborer? – Colin

+0

Très bien, édité. –

Répondre

1

Y at-il raison de parcitular vous ne voulez pas faire une boucle à travers les noms et appelez

web.Fields.GetField(internalName) 

pour chaque nom? Un inconvénient de cette approche est que GetField se repliera sur la correspondance des noms d'affichage si le nom interne ne peut pas être trouvé, donc si vous avez des croisements géniaux entre internal et displayname, les choses pourraient être un peu compliquées. Dans ce cas, je ferais une boucle à travers le FieldCollection à la place et faire correspondre l'inverse, directement sur InternalName.

+0

Oh, ça marche probablement. Merci. –

Questions connexes