SharePoint 2013 弹窗效果之本地HTML打开方式(二)
上一篇我们主要讲述如何通过showModalDialog方法进行弹出窗体,同时弹出信息定义在新的页面(Application Page),使用
SP.UI.$create_DialogOptions()里的url属性进行定义,在该文章中我们将介绍如何自定义弹出框中的信息(通过HTML)。
什么时候使用SP.UI.$create_DialogOptions()里的html属性,主编建议在以下两种情况下可以使用,如果有朋友觉得还有更好的办法,您也可以提出您宝贵的意见供大家学习及参考。第一种:当在页面中需要传递大量数据到弹出页面时,因为url有最大长度限制, 第二种: 详细页面里的数据简单,你也可以使用该方法。
接下来我们将讲解如何使用SP.UI.ModalDialog类提供了对话框框架的定义(html属性)。
Steps:
- 首先我们需要定义弹出框里的信息样式,这里主编放一个Table来存放数据,里面的数据可以通过拼接字符串的格式也可以通过Json
- 拆分字符串并拼接到Table中
function openProductNameDialog(obj) {
var listItemInfo = '';
var gridHtml = ''; // 将数据信息拆分
var productsList = (obj.text + "").split(','); // 将所有数据依次放在table中
for (i = 0; i < productsList.length; i++) {
listItemInfo += '<TR class="ms-alternating ms-itmhover" setEdgeBorder="true">' +
'<TD class=ms-vb2>' + productsList[i] + '</TD></TR>';
} // 定义Table并拼接
gridHtml = '<TABLE id="typicalProductsTable" class=ms-listviewtable border=0 cellSpacing=0 summary="Operation history" cellPadding=1 width="100%">' +
'<TBODY><TR class="ms-viewheadertr ms-vhltr" vAlign=top>' +
'<TH class=ms-vh2 scope=col noWrap>Typical Product(s)</TH>' + listItemInfo.toString() +
'</TR></TBODY></TABLE>'; var htmlTitle = "<div id='typicalProductDetial'></div>";
$('body').append(htmlTitle); $("#typicalProductDetial").html(gridHtml);
}
- 通过Json解读数据并拼接到Table中
// 获取SharePoint List中需要显示的数据,该数据必须是Json格式,这里不做任何讲解
var queryResult = oListItem.get_item('Result'); $("body").append("<div id='result'></div>");
$("#result").html(queryResult); //需要将该数据转变成html的形式 var relstring = $("#result").find("div[class^='ExternalClass']").text(); //获取数据值 var resultList = $.parseJSON(relstring); // 解析json // 将数据拼接到Table中
for (var i = 0; i < resultList.length; i++) {
listItemInfo += '<TR class="ms-alternating ms-itmhover" setEdgeBorder="true">' +
'<TD class=ms-vb2>' + resultList[i].StdNum + '</TD>' +
'<TD class=ms-vb2>' + resultList[i].ChineseName + '</TD>' +
'<TD class=ms-vb2>' + resultList[i].EnglishName + '</TD>' +
'<TD class=ms-vb2 style="word-wrap:break-word; word-break:break-all;">' + resultList[i].ProductType + '</TD></TR>';
} // 定义Table
gridHtml = '<TABLE id="operationQueryLogTable" class=ms-listviewtable border=0 cellSpacing=0 summary="Operation history" cellPadding=1 width="100%">' +
'<TBODY><TR class="ms-viewheadertr ms-vhltr" vAlign=top>' +
'<TH class=ms-vh2 scope=col noWrap>Std/Reg No.</TH>' +
'<TH class=ms-vh2 scope=col noWrap>Std/Reg Title in Chinese</TH>' +
'<TH class=ms-vh2 scope=col noWrap>Std/Reg Title in English</TH>' +
'<TH class=ms-vh2 scope=col noWrap>Impact on Product Type</TH>' + listItemInfo.toString() +
'</TR></TBODY></TABLE>';
2. 为了使用对话框框架, 我们需要先创建该对话框的选项:
var options = SP.UI.$create_DialogOptions();
options.title = "Typical Product(s)"; // 定义窗体上的标题
options.html = document.getElementById("typicalProductDetial"); // 在step1中定义的html
options.showClose = true; //是否显示close状态
options.height = 500; // 定义窗体的高度
options.width = 500; // 定义窗体的宽度 SP.UI.ModalDialog.showModalDialog(options);
SharePoint 2013 弹窗效果之本地HTML打开方式(二)的更多相关文章
- SharePoint 2013 弹窗效果之URL打开方式(一)
在SharePoint中想做一个弹出效果其实很简单,仅仅在js中使用SharePoint Modal Dialog, 以下做一个简单的例子:很多情况下我们会通过linkButton弹出一个详细页面,那 ...
- sharepoint 2013 文档库 资源管理器打开报错 在文件资源管理器中打开此位置时遇到问题,将此网站添加到受信任站点列表,然后重试。
我们在使用sharepoint 2013的文档库或者资源库的时候,经常会需要用到使用“资源管理器”来管理文档,但是有时候,点击“使用资源管理器打开”,会提示如下错误: 在文件资源管理器中打开此位置时遇 ...
- SharePoint 设置Library中文档的默认打开方式
在SharePoint Library中的文档, 如word, excel等, 文档有两种打开方式, 一种是Viewer in Browser, 一种是Open in Client applicati ...
- 优化移动设备上SharePoint 2013网站
优化移动设备上SharePoint 2013网站 本文由SPFarmer翻译自Waldek Mastykarz的文章 移动市场在持续的增长.在不远的将来,使用移动设备浏览站点将会超过电脑.为了保证用户 ...
- SharePoint 2013 托管导航 无法被开启的解决办法
在阅读了园子中霖雨的一片博文<SharePoint 2013 托管导航及相关配置>之后,非常想尝试一下SharePoint 2013 中的这个新功能,但是我的网站集包括样式是从2010升级 ...
- SharePoint 2013 开发——工作流架构
博客地址:http://blog.csdn.net/FoxDave SharePoint 2013的工作流较之前有了不同,第一次真正地作为独立的服务的概念推出了.这意味着SharePoint工作流不再 ...
- SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)
上个示例(SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API))是基于JavaScript,运行在web browser内去访问REST AP ...
- SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API)
虽然 JQuery 也能通过授权header实现跨域, 但SharePoint 提供了更简单的方法,它被实现在SP.RequestExecutor里 .它能访问跨域的服务包括REST AP ...
- SharePoint 2013 APP 开发示例 (四)JQuery访问REST
这个示例里,我们将用JQuery AJAX去发送一个 REST请求,并查看返回结果.为了让我们更好地理解REST 接口,我们将添加一个输入框让用户可以指定REST的URL, 这将让我们尝试着用构造的U ...
随机推荐
- 323. Number of Connected Components in an Undirected Graph
算连接的..那就是union find了 public class Solution { public int countComponents(int n, int[][] edges) { if(e ...
- 配置java软件
到官网下载了jdk和jre的安装包 配置时发现javac显示 "javac不是内部或外部命令,等等一些的问题" 上百度搜索后,发现是win10系统配置path的时候需要写绝对路径而 ...
- android的tabhost+RadioGroup+PopupWindow
根据网上的代码稍作修改了下,放着记录学习. 效果图如下: 主代码如下: package com.andyidea.tabdemo; import android.app.TabActivity; im ...
- JAVA去掉字符串前面的0
最佳方案:使用正则 String str = "000000001234034120"; String newStr = str.replaceAll("^(0+)&qu ...
- twemproxy代码框架概述——剖析twemproxy代码前编
本篇将去探索twemproxy源码的主干流程,想来对于想要开始啃这份优秀源码生肉的童鞋会有不小的帮助.这里我们首先要找到 twemproxy正确的打开方式--twemproxy的文件结构,接着介绍tw ...
- [RxJS] Transformation operator: buffer, bufferCount, bufferTime
This lesson will teach you about another horizontal combination operator: buffer and its variants. B ...
- etrace 跟踪程序函数动态执行流程
https://github.com/elcritch/etrace 窗口1: 监控窗口,执行监控程序,显示监控结果 [root@monitor example]# pwd /root/etrace- ...
- 自定义 textField 的清除 button
UIButton *clearButton = [self.textField valueForKey:@"_clearButton"]; [clearButton setImag ...
- eclipse4.3 kepler中安装maven
1.软件准备 a:Eclipse 4.3 http://www.eclipse.org/downloads/ b:maven http://maven.apache.org/download.cgi ...
- nodejs 按行读取 readline
fs.mkdirSync('./yotmp'); } log(out); input: file, ...