Sharepoint JSCOM 列表操作

  SP.SOD.executeFunc(‘sp.js‘, ‘SP.ClientContext‘, retrieveListItemsInclude); //确保js文件加载,再执行方法
    function retrieveListItemsInclude() {
        var clientContext = new SP.ClientContext.get_current();
        var oList = clientContext.get_web().get_lists().getByTitle(‘背景图片‘);
        var camlQuery = new SP.CamlQuery();
        camlQuery.set_viewXml(‘<View><RowLimit>100</RowLimit></View>‘);
        this.collListItem = oList.getItems(camlQuery);

        clientContext.load(collListItem, ‘Include(ServerUrl)‘); //ServerUrl的路径类似---/DocLib/123.jpg;
        clientContext.executeQueryAsync(
            Function.createDelegate(this, this.onQuerySucceeded),
            Function.createDelegate(this, this.onQueryFailed)
        );
    }
        //成功回调函数
    function onQuerySucceeded(sender, args) {
        this.BackgroundImg = [];
        var listItemEnumerator = collListItem.getEnumerator();
        while (listItemEnumerator.moveNext()) {
            var oListItem = listItemEnumerator.get_current();

/**这里需要注意!对于某些属性有自带的获取方法,比如:get_id(),get_title();             *但对于大多数的属性都必须使用get_item("属性名")来获取值,            **/而且”属性名“要跟 Include("属性名")中的属性名保持大小写一致!!       this.BackgroundImg.push(oListItem.get_item("ServerUrl"));
        }

        if (this.BackgroundImg.length > 0) {
            var index = Math.floor((Math.random() * this.BackgroundImg.length)); //随机数
            $("#s4-workspace").css("background-image", "url(" + this.BackgroundImg[index] + ")");
        }
    }
        //失败回调函数
    function onQueryFailed(sender, args) {
        alert(‘Request failed. ‘ + args.get_message() +
            ‘\n‘ + args.get_stackTrace());
    }

要查看列表字段的名称(Title)和对应的内部名称(InternalName),可以参考官方文档:

function retrieveAllListsAllFields(siteUrl) {
    var clientContext = new SP.ClientContext(siteUrl);
    var oWebsite = clientContext.get_web();
    var collList = oWebsite.get_lists();

    this.listInfoArray = clientContext.loadQuery(collList,
        ‘Include(Title,Fields.Include(Title,InternalName))‘);

    clientContext.executeQueryAsync(
        Function.createDelegate(this, this.onQuerySucceeded),
        Function.createDelegate(this, this._onQueryFailed)
    );
}

function onQuerySucceeded() {
    var listInfo = ‘‘;

    for (var i = 0; i < this.listInfoArray.length; i++) {
        var oList = this.listInfoArray[i];
        var collField = oList.get_fields();
        var fieldEnumerator = collField.getEnumerator();

        while (fieldEnumerator.moveNext()) {
            var oField = fieldEnumerator.get_current();
            var regEx = new RegExp(‘name‘, ‘ig‘);

            if (regEx.test(oField.get_internalName())) {
                listInfo += ‘\nList: ‘ + oList.get_title() +
                    ‘\n\tField Title: ‘ + oField.get_title() +
                    ‘\n\tField Name: ‘ + oField.get_internalName();
            }
        }
    }
    alert(listInfo);
}

function onQueryFailed(sender, args) {
    alert(‘Request failed. ‘ + args.get_message() +
        ‘\n‘ + args.get_stackTrace());
}

参考:https://msdn.microsoft.com/zh-cn/library/office/jj163201.aspx

时间: 2024-11-08 10:07:02

Sharepoint JSCOM 列表操作的相关文章

SharePoint 2013开发入门探索(二)- 列表操作

我们如何用代码对SharePoint列表做些例如增删改查的操作呢?如果您的程序可以部署到服务器上,就可以使用 服务器对象模型,因为服务器对象模型提供的功能最多,限制最少:否则可能要选择客户对象模型等其他方式,这可能会遇到一些功能限制:另外还有一些其他的访问方式,例如Web服务等.如何在 SharePoint 2013 中选择正确的 API 集请参考链接 http://msdn.microsoft.com/zh-cn/library/jj164060.aspx. 我们首先研究下服务器对象模型.使用

SharePoint 创建列表并使用Windows Presentation Foundation应用程序管理列表

SharePoint创建列表并使用程序管理列表 列表是SharePoint开发人员输入数据的方式之一.使用Web界面创建一个列表并添加一些数据,步骤如下: 1. 打开站点. 2. 点击所有网站内容. 3. 点击创建. 4. 选择自定义列表,命名Customers,并输入描述.选中在快速启动导航显示,点击创建. 这将创建一个自定义列表.接下来我们添加三个栏:Region/Size/Sales. 1. 点击功能区创建栏按钮,命名Region,选择"选项"类型.增加四个选项:East/Wes

列表操作 - C#开发人员

理 SharePoint 2013开发入门探索(二)- 列表操作 我们如何用代码对SharePoint列表做些例如增删改查的操作呢?如果您的程序可以部署到服务器上,就可以使用 服务器对象模型,因为服务器对象模型提供的功能最多,限制最少:否则可能要选择客户对象模型等其他方式,这可能会遇到一些功能限制:另外还有一些其他的访问方式,例如Web服务等.如何在 SharePoint 2013 中选择正确的 API 集请参考链接http://msdn.microsoft.com/zh-cn/library/

【原创】SharePoint 开发列表定义以实现一次开发可多次部署

在SharePoint开发中,列表是一个很方便也头疼的功能,方便在于通过浏览器就可以很容易定制列表的栏位,包括栏位类型和试图等等,头疼的地方在于在开发完了部署到生产环境时不太好弄,第一次部署的时候倒是可以使用数据库还原的方式,但是要追加修改的话,就很麻烦,只能在开发环境先配一遍,然后在生产环境再重新配一遍,如果不小心配错了,还很麻烦,可能要调试半天才能发现问题.另外,如果多个人共同开发一个项目,要合并各自对列表的修改也很麻烦. 总之,要是直接在生产上使用,倒是很方便,但是对于开发人员来说,就比较

Sharepoint 2013列表视图和字段权限扩展插件!

记得2014年春节期间,有博客园的网友通过QQ向我咨询Sharepoint 2013列表视图和字段权限扩展,因为之前他看到我博客介绍Sharepoint 2010列表视图和字段的权限控制扩展使用,问有没有这方面的列表权限扩展插件?我告诉他Sharepoint 2010的列表权限扩展插件并不能在Sharepoint 2013中使用,不能向上兼容的,且Sharepoint 2013的功能也有所升级了,系统底层架构已发生了一些变化.由于他需要在Sharepoint 2013项目中使用到此功能,有大量的

Python学习笔记#列表操作常用的函数

列表操作常用的两类函数: 1. 添加元素: append extend insert append主要是在列表的尾部添加一个元素: a = [1,2,3,4,5] a.append(6) 将得到: a = [1, 2, 3, 4, 5, 6] extend主要是在列表的尾部添加一些元素,这些元素只能用列表的形式添加: 错误实例: >>> a.extend(6,7) Traceback (most recent call last): File "<pyshell#3>

多选移动列表操作

<html> <head> <title>多选移动列表操作</title> <meta http-equiv='Content-Type' content='text/css;charset=utf-8'/> <script> </script> <style> .yemian{ margin-left:30%; width:500px; height:400px; background-color:cyan;

python学习笔记——列表操作

python列表操作--增 append:追加一条数据到列表的最后 name = ["Zhangsan","XiongDa","Lisi"] name.append("wangwu") print name 输出结果: ['Zhangsan', 'XiongDa', 'Lisi', 'wangwu'] insert:指定位置插入一条数据 name = ["Zhangsan","XiongDa&qu

Beginning Python From Novice to Professional (3) - 列表操作

列表操作 list函数: [python] view plaincopy >>> list('hello') ['h', 'e', 'l', 'l', 'o'] 改变列表: [python] view plaincopy >>> x=[1,1,1] >>> x[1]=2 >>> x [1, 2, 1] 删除元素: [python] view plaincopy >>> names = ['wu','li','zhao