2009-11-27 66 views
0

我想知道如何去做這件事。更改列表設置

我想更改列表的行爲。當列表添加到SharePoint站點時,您可以在列表下方看到「添加新項目」。當用戶添加新項目時,應將其替換爲'編輯項目'

我該如何做到這一點?

非常感謝,

+0

您的列表將只有一個項目? – 2009-11-27 18:12:53

+0

是的,只有一個項目存儲到列表中。 – Carpentar 2009-11-30 12:09:24

回答

0

您可以創建一個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); 
     } 
    } 
+0

非常感謝您的優秀回覆。我的問題是這個Web部件將放置在哪裏?在列表的同一頁上?如果是的話,那麼如何隱藏頁面的web部件,並仍然實現功能。你可以扔任何指針? – Carpentar 2009-11-30 12:47:30

+0

Web部件將與列表放置在同一頁面上。如果將它的chrome類型設置爲「none」,則根本看不到Web部件,因爲它中沒有控件。當你進入頁面編輯模式時,你仍然會看到它,但我想這不會成爲一個問題,因爲你試圖隱藏菜單的人可能沒有足夠的權限來編輯頁面。 – 2009-11-30 15:34:50

0

創建一個CustomAction並將其部署爲一項功能。自定義操作應該是一個應該在特定列表中可見的菜單項,它的操作url應該是鏈接到列表編輯窗體編輯窗體。

隱藏使用下面的開源項目,它允許您隱藏列表的工具欄中的任意一個菜單項的其他菜單選項:

SharePoint features

查找工具欄管理器下載。

+0

非常好,我甚至都沒有意識到這個術語,直到你提到。我會研究一些更多的東西,看來這是正確的做法。我的問題是,如果我確實改變了行爲,那麼改變的範圍是什麼?我是指當前的網絡還是整個網絡?你可以通過一些一步一步說明這個CustomAction的例子來指出一些足智多謀的文章嗎? 非常感謝您的時間和協助..我期待您的回覆.. – Carpentar 2009-11-30 12:49:49

+0

將嘗試查找一些鏈接,但Google搜索+ CustomAction將爲您帶來很長的路要走。這些可以是Web範圍的功能,並且在該功能中,您可以將定製分配給特定列表(甚至列表中的內容類型)。 CustomActions也可用於編輯站點操作菜單,以及列表項的上下文菜單。 – Colin 2009-11-30 16:46:48