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
Sharepoint JSCOM 列表操作的更多相关文章
- Sharepoint 2013列表视图和字段权限扩展插件(免费下载)!
		
记得2014年春节期间,有博客园的网友通过QQ向我咨询Sharepoint 2013列表视图和字段权限扩展,因为之前他看到我博客介绍Sharepoint 2010列表视图和字段的权限控制扩展使用,问有 ...
 - SharePoint 创建列表并使用Windows Presentation Foundation应用程序管理列表
		
SharePoint创建列表并使用程序管理列表 列表是SharePoint开发者输入数据的方式之中的一个.使用Web界面创建一个列表并加入一些数据.过程例如以下: 1. 打开站点. 2 ...
 - react实例之todo,做一个实时响应的列表操作
		
react实例之todo, 做一个实时响应的列表操作 在所有的mvc框架中,最常见的例子不是hello world,而是todo,由于reactjs的简单性,在不引用flux和redux的情况下,我们 ...
 - SharePoint 2013 列表关于大数据的测试<二>
		
1.给测试列表添加查阅项字段,100个,代码如下: 2.插入测试数据的方法,注意查阅项字段的格式,代码如下: 3.插入10w条数据,时间花费如下(不建议List[LISTNAME].Items.Add ...
 - TCL语言笔记:TCL中的列表操作
		
一.介绍 列表则是具有特殊解释的字符串.Tcl 中的列表操作和其它 Tcl 命令一样具有相同的结构.列表可应用在诸如 foreach 这样的以列表为变元的循环命令中,也应于构建 eval 命令的延迟命 ...
 - Python 基础篇:字符串、列表操作
		
字符串操作 判断是否为数字 string = "200" string.isdigit() >>false 待完善.. 列表操作 列表是我们最以后最常用的数据类型之一, ...
 - 征服 Redis + Jedis + Spring (三)—— 列表操作【转】
		
一开始以为Spring下操作哈希表,列表,真就是那么土.恍惚间发现“stringRedisTemplate.opsForList()”的强大,抓紧时间恶补下. 相关链接: 征服 Redis 征服 Re ...
 - sharepoint 2013 列表和库标签 元数据导航配置(2)
		
接前面提到的,如何创建一个术语库.sharepoint 2013 列表和库标签 元数据导航配置(1), 现在要做的,就是如何在自定义或者文档库中使用这个术语库,实现标签功能,通过这些标签,找到对应的文 ...
 - SharePoint 2013 列表启用搜索
		
转载自:http://www.cnblogs.com/jianyus/p/3470117.html SharePoint 2013列表搜索的设置,只是进行完全爬网,就可以使用.如果开启爬网不是很熟练可 ...
 
随机推荐
- 浅谈vue路由原理
			
Vue的路由实现:hash模式 和 history模式 hash模式:在浏览器中符号“#”,#以及#后面的字符称之为hash,用window.location.hash读取: 特点:hash虽然在UR ...
 - html之canvas
			
canvas代码片段: <canvas id="testCanvas" width="400" height="150" style= ...
 - UILabel常见用法
			
//创建一个UILabel UILabel *label1 = [[UILabel alloc] initWithFrame:CGRectMake(50 , 100 , 200 , 560)]; // ...
 - NB-IoT知识
			
通常,我们把物联网设备分为三类: ①无需移动性,大数据量(上行),需较宽频段,比如城市监控摄像头. ②移动性强,需执行频繁切换,小数据量,比如车队追踪管理. ③无需移动性,小数据量,对时延不敏感,比如 ...
 - VisualGDB系列1:VisualGDB总体概述
			
根据VisualGDB官网(https://visualgdb.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指正. 本文总体介绍VisualGDB能给你带来 ...
 - 菜鸟学Nhibernate 之路---(1)
			
首先说一下我为什么要学这个Nhibernate,现在在公司做项目后台的逻辑层都是用动软生成的简单三层,搞来搞去都是这些东西,代码冗余量很大,每个类方法基本上都一样,真是纯正的码农,虽然后来我也尝试使用 ...
 - Python学习:命令行运行,循环结构
			
一.安装配置和运行方法 1.安装OpenCV 3.1: 假设安装目录为"C:\Python34" 2.配置环境变量: 方法一:直接配置:打开"控制面板",搜索& ...
 - 在重命名SqlServer数据库时,报5030错误的解决办法
			
数据库不能重名名5030的错误,其实很简单原因就是有应用程序正在占用这个连接,使用这样一行命令就可以查询出正在占用的连接 use master select spid from master.dbo. ...
 - error C2039: “addTextureMesh”: 不是“pcl::visualization::PCLVisualizer”的成员
			
error C2039: "addTextureMesh": 不是"pcl::visualization::PCLVisualizer"的成员 PCL 1.6 ...
 - cocos2dx v3.x lua绑定分析
			
打算新项目转到cocos2dx v3上了,下载代码浏览过后发现改动真是非常大,结构性调整很多. 比如tolua绑定这一块,就几乎全翻新了. 胶水代码的生成,改成了全自动式的,通过clang来分析c++ ...