2009-05-19 80 views
0

我試圖在SharePoint中創建自定義字段類型。在編輯和創建模式下隱藏SharePoint自定義字段類型

這個控制有它的基礎上在同一列表中的其他字段的值設置。 由於這一要求,此字段只能在顯示模式下顯示,而不能在編輯或創建模式下顯示。

我該如何確保這一點?

如果我只是代碼的ASCX控件不呈現的字段,字段會出現這樣的編輯和創建模式。

alt text http://www.mannsoftware.com/blog/Lists/Photos/121308_0204_CrossSiteLo6.png

回答

0

設置ShowInEditForm和ShowInNewForm特性解決了這個對我來說。

1

一般來說,你的SPField.ReadOnlyField屬性設置爲True,以實現對任何領域所需的行爲。 (不要忘記相應的SPField.Update!)我相信列表定義有一個等效的CAML屬性。

也就是說,在從BaseFieldControl派生的控制類中,您可以重寫RenderFieldForInput()方法,而不是調用基本實現,以確保在創建或編輯期間不提供任何內容。但是,這仍會在表單中呈現該字段的表格行,這可能不是您想要的。因此,爲了執行所需的行爲,請使用ReadOnlyField並覆蓋SPField(非字段控件)類中的Update(),以始終將其設置爲True。

+0

對不起...不起作用...或者我做錯了嗎?這是我在的SPField類寫道: 公共覆蓋無效的更新(){ this.ReadOnlyField = TRUE; base.Update(); } – ashwnacharya 2009-05-19 11:56:55

+0

嘗試在所有構造函數中設置屬性,完全忽略Update()調用或覆蓋。 (不要在您的構造函數中更新()肯定!) – 2009-05-19 12:09:42

0

可能更容易通過進入List SettingsAdvanced部分只是改變這一個列表,通過列表的基礎上,設置Allow management of content types?Yes,然後編輯內容類型來更改字段的值「 hidden'。

相關問題