导航

【HOW】如何删除SharePoint列表中的隐藏字段

Posted on 2013-11-20 13:08  FryFish  阅读(377)  评论(0)    收藏  举报

在某些情况下,被自动添加的隐藏字段(在“编辑视图”界面中可以看到,但在“列表设置”中看不到)未能被自动删除,从而遗留在了列表中。对于此情况,可参考如下步骤删除。

1. 查看列表中所有字段的显示名和内部名

$WebUrl = "http://www.consodo.com/market/product/"
$ListDisplayName = "Product Manifest"

$JPWeb = Get-SPWeb $WebUrl
$lists = $JPWeb.lists
$list = $lists[$ListDisplayName]
$fields=$list.fields
$fields | Format-Table -Property Title, StaticName -AutoSize

2. 删除指定的字段

$FieldDisplayName = "FieldToDelete"
$field = $fields[$FieldDisplayName]
#$field.delete() #can't delete a hidden column
$field.Hidden = $false
$field.ReadOnlyField = $false
$field.Update()
$field.delete()

注意:隐藏和只读的字段均不能删除,所以需要先修改其隐藏及只读属性,并更新后再删除。

另外,通过显示名删除字段有一定风险,最保险的方式是用下面语句替换上面的字段对象获取语句:

$FieldInternalName = "FieldInternalName"
$field = $list.Fields.GetFieldByInternalName($FieldInternalName)

 
参考:http://reality-tech.com/2013/01/13/how-to-delete-a-hidden-library-field-in-sharepoint/