2009-05-22 18 views
10

Tôi có một lĩnh vực tính toán trong một danh sách với công thức này:
=CID & " - " & TitleSharePoint - nhận được giá trị của lĩnh vực tính toán mà không cần thủ công phân tích

Khi xem danh sách, nó có thể hiển thị như sau: "2 - Big Meeting". Khi tôi lấy giá trị từ mã như sau:
myItem["CIDandTitle"]

giá trị trở lại là: "string; # 2 - BigMeeting". Có cách nào "chính xác" trong sharepoint để trích xuất các giá trị hoặc tôi nên chỉ cần chia trên dấu chấm phẩy và bảng Anh?

Tôi đang sử dụng MOSS2007.

Trả lời

13

Bạn phải bỏ nó vào một SPCalculatedField:

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

hoặc

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

Điều đó hoạt động; cũng như cf.GetFieldValueAsText (myItem ["CIDandTitle"]). Cách tiếp cận này dường như rất khó khăn. – Chloraphil

+0

ít clunky hơn tách trên dấu chấm phẩy và băm ... –

+4

Tôi đã có vấn đề cố gắng để có được một phao theo cách này. Tôi đã sử dụng myItem.GetFormattedValue ("floatValue"); – bryanbcook

0

Câu trả lời được đưa ra bởi @ Nathan không xác định rằng bạn cần phải cung cấp tên hiển thị của lĩnh vực này. Nó sẽ không hoạt động với internalName. Hơn nữa, tôi có thể sử dụng làm để truyền kết quả.

var cf = list.Fields["calculatedfieldDisplayName"] as SPFieldCalculated; 
String value = cf.GetFieldValueAsText(item["calculatedfieldDisplayName"]); 
Các vấn đề liên quan