SharePoint隐藏栏

 

原文链接:http://bbs.winos.cn/viewthread.php?tid=44604&pid=262502&page=1&extra=page%3D15#pid262502

              http://www.cnblogs.com/wanghao-3/archive/2007/11/05/949535.html

              http://www.msotec.com/showtopic-916.aspx

    

SharePoint修改方法

选中自已定义的"列表"

在“高级设置”里,把“是否允许管理内容类型”选择“是”

然后在“内容类型”里,就可以设置了,效果如下:




这样,就巧妙的把我们为了进行视图筛选添加的一些列给隐藏了,当然你也可以根据需要进行隐藏。

不过,隐藏后,添加、修改时候也是不可见的,这种方法,主要是对一些默认赋值和计算栏比较有用的

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();

 

posted @ 2008-11-02 14:28  浪漫稻草人  阅读(756)  评论(0)    收藏  举报