原文連結:http://www.cnblogs.com/wanghao-3/archive/2007/11/05/949535.html
http://www.msotec.com/showtopic-916.aspx
SPD修改方法:
首先,開啟要改頁面的源檔案,找到要改的欄ID。
如果是顯示頁面的欄ID比較短,如: SPFieldText;如果是建立或編輯頁面的欄ID比較長,如:ctl00_ctl00_g_d43e2ae3_23c8_4cc3_ac81_912104dbd99f_ctl00_ctl04_ctl00_ctl00_ctl00_ctl04_ctl00_ctl00_TextField
然後,可以先用IE測試一下( ***的位置就填寫ID):
javascript:alert(document.all. ***.parentElement.style.display='none')
如果在IE測試正確。用SPD開啟頁面,在加上就可以了。
<script>
document.all.***.parentElement.style.display='none';
</script>
這個方法還算管用,只是每隱藏一個欄都要寫一行。
程式修改方法:
在實際的開發過程中,我們想在建立Item 的時候,想控制他的許可權.不想要一些人,看到一些Field,在有許可權的時候,又要看到的時候,又自動的顯示, 上面講述的是js調用..其實 moss本身就為我們考慮的很好,都給我們留下介面.我們只需要設定就可以。
SPSite site = new SPSite(@"http://wh/sites/ict/icts");
SPWeb web = site.OpenWeb();
SPList list = web.Lists["My Request"];
SPListItemCollection items = list.Items;
//建立的時候Room No field 看不到
list.Fields["Room No."].ShowInNewForm = false;
list.Fields["Room No."].Update();
//查看的時候,Room No. field 看不到
list.Fields["Room No."].ShowInDisplayForm = false;
list.Fields["Room No."].Update();
//編輯的時候,Room No. field看不到。
list.Fields["Room No."].ShowInEditForm = false;
list.Fields["Room No."].Update();