【问题标题】:How to Limit the number of items that can be entered in a SharePoint List?如何限制可以在 SharePoint 列表中输入的项目数?
【发布时间】:2016-08-16 05:07:24
【问题描述】:

我正在尝试限制 SharePoint 2010 列表中允许的条目数。该列表供用户注册,例如,我们希望将其限制为 60。我看过类似的问题,但似乎没有一个有效。

目前发现的验证公式都不合适。我将不胜感激任何建议和帮助。

谢谢你提前! :)

【问题讨论】:

    标签: sharepoint sharepoint-2010 sharepoint-list


    【解决方案1】:

    没有任何内置功能可让您完成此操作。但是,如果您提供自己的界面来创建条目(例如自定义注册页面),您可以控制行为并在达到限制后阻止注册。

    为帮助您入门,这里有一个使用 JavaScript 对象模型在创建项目之前查询列表并检测项目计数的示例。

    <input type="button" value="Sign Up Now!" onclick="createItemIfBelowLimit()" />
    <script>
    function createItemIfBelowLimit(){
        var max = 60;
        var listTitle = "Your List Title";
        var clientContext = new SP.ClientContext();
        var list = clientContext.get_web().get_lists().getByTitle(listTitle);
        clientContext.load(list);
        clientContext.executeQueryAsync(function(){
            var itemCount = list.get_itemCount();
            if(itemCount < max){
                createItem(listTitle,{
                    "Title":"Example title text",
                    "Body":"Example body text"
                    });         
            }else{
                alert("This sign-up list is full. Sorry!");
            }
        },function(sender,args){
            alert(args.get_message());
        });
    }
    function createItem(listTitle,values){
        var clientContext = new SP.ClientContext();
        var list = clientContext.get_web().get_lists().getByTitle(listTitle);
        var newItem = list.addItem();
        for(var key in values){
            newItem.set_item(key,values[key]);
        }
        newItem.update();
        clientContext.load(newItem);
        var rootFolder = list.get_rootFolder(); // Note: use a list's root folder to determine its server relative URL
        clientContext.load(rootFolder);
        clientContext.executeQueryAsync(function(){
            var itemId = newItem.get_item("ID");
            SP.UI.ModalDialog.showModalDialog(
                { 
                    title: "Item #"+itemId+" Created Successfully!", 
                    url: rootFolder.get_serverRelativeUrl() + "/DispForm.aspx?ID="+itemId
                }
            ); 
        },function(sender,args){
            alert(args.get_message());
        });
    }
    </script>
    

    要使用上述代码,请先将其保存到文本文件中,然后将其上传到您的 SharePoint 网站上的库中。然后,您可以在您的网站上创建一个页面,将一个内容编辑器 Web 部件添加到该页面,并编辑该内容编辑器 Web 部件的 Web 部件属性。在“内容链接”属性中,粘贴文本文件的链接;这将导致 Web 部件呈现您的 HTML 和 JavaScript。

    如需进一步阅读,请查看 Microsoft 提供的 Common Programming Tasks in the JavaScript Object Model 文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-24
      • 1970-01-01
      • 2021-09-21
      • 1970-01-01
      相关资源
      最近更新 更多