繁体   English   中英

如何限制可以在SharePoint列表中输入的项目数?

[英]How to Limit the number of items that can be entered in a SharePoint List?

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

到目前为止,没有找到合适的验证公式。 我将不胜感激对此的任何建议和帮助。

谢谢提前! :)

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

首先,这是一个使用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提供的JavaScript Object Model文档中的Common Programming Tasks

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM