列表Field属性的巧妙运用(隐藏栏)

原文链接: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();

 

posted @ 2008-09-02 09:03  Anlycp  阅读(1962)  评论(3编辑  收藏  举报