2009-12-28 27 views
1

感謝您的大力幫助。另一個問題。如何將日曆上的「全天事件」字段設置爲默認爲「已檢查/是?」如果我們可以將全天事件的默認設置爲是,是否有隱藏時間字段的方法(保留日期字段 - 只是沒有時間字段)?我也想隱藏「工作區」字段(如果可能的話)。默認全天事件檢查/是

謝謝

戴夫中號

回答

1

如果您可以訪問您的服務器上運行的代碼,我已經從一個控制檯應用程序運行這個和它的工作就像一個魅力:

using(SPSite site = new SPSite("http://yoursite")) 
{ 
    using(SPWeb web = site.OpenWeb()) 
    { 
    SPList list = web.Lists["your list name"]; 
    SPContentType ct = list.ContentTypes["Event"]; 
    SPFieldLink fieldLink = ct.FieldLinks["fAllDayEvent"]; 
    Type type = typeof(SPFieldLink); 
    PropertyInfo pi = type.GetProperty("Default", BindingFlags.NonPublic | BindingFlags.Instance); 
    pi.SetValue(fieldLink, "1", null); 
    ct.Update(); 
    } 
} 

來源:http://pholpar.spaces.live.com/blog/cns!2CD45589973F2849!131.entry

我們只需要修改的是SPFieldLink,示例使用了All Day Event,我們的列表使用了fAllDayEvent

我見過的唯一工作方式是修改列表的CAML(Example)。

哦,我們躲在使用Javascript工作區場:

<script language="javascript" type="text/javascript"> 

_spBodyOnLoadFunctionNames.push("hideFields"); 

function fc(FieldName) { 
    var arr = document.getElementsByTagName("!"); 

    for (var i=0;i < arr.length; i++) { 
     if (arr[i].innerHTML.indexOf(FieldName) > 0) { return arr[i]; } 
    } 
} 

function hideFields() { 
    control = fc("Workspace"); 
    control.parentNode.parentNode.style.display="none"; 
} 
</script> 

來源:http://sharepointsherpa.com/2008/08/26/sharepoint-2007-hiding-fields-on-newformaspx-and-editformaspx-the-easy-way/