2009-05-22 7 views
10

Tengo un campo calculado en una lista con esta fórmula:
=CID & " - " & TitleSharePoint - obtener el valor del campo calculado sin análisis manual de

Al ver la lista, podría mostrar como: "2 - Reunión grande". Cuando tomo el valor del código como lo siguiente:
myItem["CIDandTitle"]

el valor viene como: "cadena; # 2 - BigMeeting". ¿Hay una forma "correcta" en sharepoint para extraer el valor o debería simplemente dividir el signo de punto y coma?

Estoy usando MOSS2007.

Respuesta

13

tienen que desechar a un SPCalculatedField:

SPFieldCalculated cf = (SPFieldCalculated)myItem.Fields["CIDandTitle"]; 
string value = cf.GetFieldValueForEdit(myItem["CIDandTitle"]); 

o

string value = cf.GetFieldValueAsText(myItem["CIDandTitle"]); 
+0

Eso funciona; al igual que cf.GetFieldValueAsText (myItem ["CIDandTitle"]). Sin embargo, este enfoque parece torpe. – Chloraphil

+0

menos torpe que dividir en el punto y coma y el hash ... –

+4

Tuve problemas tratando de obtener una carroza de esta manera. Usé myItem.GetFormattedValue ("floatValue"); – bryanbcook

0

la respuesta dada por @ Nathan no especifica que es necesario proporcionar el nombre de visualización del campo. No funcionará con internalName. Además, es probable que use como para emitir el resultado.

var cf = list.Fields["calculatedfieldDisplayName"] as SPFieldCalculated; 
String value = cf.GetFieldValueAsText(item["calculatedfieldDisplayName"]); 
Cuestiones relacionadas