我想知道如何去做這件事。更改列表設置
我想更改列表的行爲。當列表添加到SharePoint站點時,您可以在列表下方看到「添加新項目」。當用戶添加新項目時,應將其替換爲'編輯項目'
我該如何做到這一點?
非常感謝,
我想知道如何去做這件事。更改列表設置
我想更改列表的行爲。當列表添加到SharePoint站點時,您可以在列表下方看到「添加新項目」。當用戶添加新項目時,應將其替換爲'編輯項目'
我該如何做到這一點?
非常感謝,
您可以創建一個Web部件,將改變列表的工具欄菜單中的菜單項。
在你的網絡的一部分代碼,改變CreateChildControl的代碼:
protected override void CreateChildControls()
{
if (!_error)
{
try
{
foreach (Control control in this.Page.Controls)
{
ModifyMenu(control);
}
base.CreateChildControls();
}
catch (Exception ex)
{
HandleException(ex);
}
}
}
,然後添加一個ModifyMenu功能,將添加/隱藏你想要的菜單:
private void RemoveNewMenu(Control parentControl)
{
if ((parentControl == null) || (parentControl.Controls.Count == 0))
{
return;
}
foreach (Control childControl in parentControl.Controls)
{
if (childControl.ToString().ToUpper() == typeof(Microsoft.SharePoint.WebControls.NewMenu).ToString().ToUpper())
{
NewMenu newMenu = (NewMenu)childControl;
if (newMenu.GetMenuItem("NewFolder") != null)
{
newMenu.AddMenuItem(<Edit item menu that you want to add>);
newMenu.GetMenuItem(<new item menu that you want to Hide>).Visible = false;
}
break;
}
RemoveNewMenu(childControl);
}
}
非常感謝您的優秀回覆。我的問題是這個Web部件將放置在哪裏?在列表的同一頁上?如果是的話,那麼如何隱藏頁面的web部件,並仍然實現功能。你可以扔任何指針? – Carpentar 2009-11-30 12:47:30
Web部件將與列表放置在同一頁面上。如果將它的chrome類型設置爲「none」,則根本看不到Web部件,因爲它中沒有控件。當你進入頁面編輯模式時,你仍然會看到它,但我想這不會成爲一個問題,因爲你試圖隱藏菜單的人可能沒有足夠的權限來編輯頁面。 – 2009-11-30 15:34:50
創建一個CustomAction並將其部署爲一項功能。自定義操作應該是一個應該在特定列表中可見的菜單項,它的操作url應該是鏈接到列表編輯窗體編輯窗體。
隱藏使用下面的開源項目,它允許您隱藏列表的工具欄中的任意一個菜單項的其他菜單選項:
查找工具欄管理器下載。
非常好,我甚至都沒有意識到這個術語,直到你提到。我會研究一些更多的東西,看來這是正確的做法。我的問題是,如果我確實改變了行爲,那麼改變的範圍是什麼?我是指當前的網絡還是整個網絡?你可以通過一些一步一步說明這個CustomAction的例子來指出一些足智多謀的文章嗎? 非常感謝您的時間和協助..我期待您的回覆.. – Carpentar 2009-11-30 12:49:49
將嘗試查找一些鏈接,但Google搜索+ CustomAction將爲您帶來很長的路要走。這些可以是Web範圍的功能,並且在該功能中,您可以將定製分配給特定列表(甚至列表中的內容類型)。 CustomActions也可用於編輯站點操作菜單,以及列表項的上下文菜單。 – Colin 2009-11-30 16:46:48
您的列表將只有一個項目? – 2009-11-27 18:12:53
是的,只有一個項目存儲到列表中。 – Carpentar 2009-11-30 12:09:24