更改列表设置

时间:2009-11-27 17:07:56

标签: sharepoint

我想知道我该怎么办呢。

我想更改列表的行为。将列表添加到sharepoint站点后,您可以在列表下方看到“添加新项”。当用户添加新项目时,应将其替换为“编辑项目”

我怎样才能做到这一点?

非常感谢,

2 个答案:

答案 0 :(得分:0)

您可以创建一个Web部件,该部件将更改列表工具栏菜单上的可用菜单项。

在您的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);
        }
    }

答案 1 :(得分:0)

创建CustomAction并将其部署为功能。自定义操作应该是一个应该在特定列表中可见的菜单项,它的操作URL应该是列表编辑表单编辑表单的链接。

使用以下开源项目隐藏其他菜单选项,该项目允许您隐藏列表工具栏中的任何菜单项:

SharePoint features

查找工具栏管理器下载。