2017-05-02 56 views
2

在SharePoint 2013中創建自定義列表或新列表,然後進入添加項目時,它會顯示「姓」而不是「標題」,就像它用來說的那樣。無論如何要改變這一點?如果是這樣,我該怎麼做?列表標題更改名稱?如何改回它?

查看下面的例子。圖1是它應該看起來如何,但圖2是它的意義。

我知道我可以將其手動更改回標題,但我希望它在創建列表時自動將其更改回標題。它應該說「標題」而不是「姓氏」..我已經搜索谷歌,但還沒有找到一個解決方案。

圖1(它應該是什麼樣子): This is how it should look

圖2(它的外觀): Title column changed to Last Name automatically

回答

0

這聽起來像標題(標的項目的內容類型的一部分)的網站列被重命名爲「姓氏」。

這可能發生,例如,如果你去網站設置 - >網站內容類型 - >項目(在列表內容類型) - >標題(下欄) - >編輯網站欄

不幸的是,改變標題字段的顯示名稱返回到「標題」通過界面非常困難,因爲SharePoint堅持標題字段名稱是保留的(並且不夠明亮,以至於無法意識到它是您試圖修復的標題字段)。

如果您有權訪問遠程服務器,則可以使用PowerShell和SharePoint服務器對象模型重命名該字段。

例如:

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") 
$siteurl = "URL of top-level site" 
$site=new-object Microsoft.SharePoint.SPSite($siteurl) 
$web=$site.OpenWeb() 
$field=$web.Fields.GetFieldByInternalName("Title") 
$field.Title = "Title" 
$field.Update() 
$web.Dispose() 
$site.Dispose() 

否則,您可以使用JavaScript做同樣的事情。雖然受影響的網站集內查看站點,打開F12開發工具JavaScript控制檯,並執行以下腳本來重命名標題:

var context = new SP.ClientContext("/serverRelativeUrlOfRootWeb"); 
var field = context.get_web().get_fields().getByInternalNameOrTitle("Title"); 
field.set_title("Title"); 
field.update(); 
context.executeQueryAsync(
    function(){ 
     alert("Field renamed successfully."); 
    }, 
    function(sender,args){ 
     alert(args.get_message()); 
    } 
); 

更換/serverRelativeUrlOfRootWeb與網站集的根網站的相對於服務器的URL您需要將該字段重命名。

+0

謝謝Thriggle,那很完美!我使用F12開發工具打開了JavaScript控制檯,更改了相關網址並且工作正常! –