我有一個字段,它使用計算的列類型來引用ID字段。它基本上是:名稱& ID。例如。 Name01,Name02,Name03等ID字段不會自動更新
但是,當我向共享點添加新行時,此列不會自動更新,我必須在該字段中手動單擊以更新它。
有沒有辦法解決這個問題?謝謝
我有一個字段,它使用計算的列類型來引用ID字段。它基本上是:名稱& ID。例如。 Name01,Name02,Name03等ID字段不會自動更新
但是,當我向共享點添加新行時,此列不會自動更新,我必須在該字段中手動單擊以更新它。
有沒有辦法解決這個問題?謝謝
這是設計。
計算列不能在其表達式中包含ID字段。這是因爲Sharepoint在創建/更新時存儲計算字段的結果值。項目創建後,ID尚不存在。因此它沒有什麼可以填充的。但是,一旦更新了值,就可以看到該ID已填充且現在可用。
我也見過這種行爲,它並不明顯,因爲當你第一次創建列(並且每次你編輯列)時,一切看起來都很好,並且很漂亮。
我發現我可以使用SharePoint Designer工作流程解決此問題。工作流更新普通文本字段以存儲ID值,然後計算列可以引用該文本字段而不是實際ID字段。
步驟:
然後,我只需要參考[項目ID]在我的計算列,而不是[ID],它就像一個魅力。
一個缺點是用戶最終會看到New和Edit表單上的ItemID字段,除非您執行某些操作來隱藏它。
如果您有更多時間在手中,並且希望避免發送工作流歷史記錄列表,您可以在事件處理程序中執行相同的解決方法。
感謝Brian,雖然你是正確的ID字段填充,每當我編輯該行中的另一個字段,ID字段消失,我只留下'姓名'而不是來自ID的數字。每次我編輯行時都會發生這種情況。 – Vin 2011-03-16 17:14:40
這可能是由於版本控制,您是否在此列表上啓用了版本控制?爲了解決這個問題,我必須實現一個工作流或事件接收器來更新持久化值。 – 2011-03-16 19:08:25