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>