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 ...
随机推荐
- 公司开发的APP,如何生成一个二维码,供客户下载使用
1.其实和简单,因为一般的用户使用扫一扫,大多数都是用微信自带的扫一扫工具 而,微信打开的二维码页面,会自动屏蔽apk文件,所以显然把apk的url生成一个二维码,让用户扫一扫就能直接下载,这样是行不 ...
- [Redux] Refactoring the Entry Point
We will learn how to better separate the code in the entry point to prepare it for adding the router ...
- iOS-你真的会用UIMenuController吗?(详细)
UIMenuController的介绍 什么是UIMenuController? UIMenuController是UIKit里面的控件 UIMenuController的作用在开发中弹出的菜单栏 后 ...
- Android 6.0 Changes
原文链接:http://developer.android.com/about/versions/marshmallow/android-6.0-changes.html 伴随着新特性和功能,Andr ...
- 关于SqlServer修改数据库常用信息的方法
--系统表里存放各个数据库属性信息的表之一SELECT name AS [Logical Name], physical_name AS [DB File Path],type_desc AS [Fi ...
- WCF 用netTcpbinding,basicHttpBinding 传输大文件
问题:WCF如何传输大文件 方案:主要有几种绑定方式netTcpbinding,basicHttpBinding,wsHttpbinding,设置相关的传输max消息选项,服务端和客户端都要设置,tr ...
- StringHelper类,内容截取,特别适合资讯展示列表
public class StringHelper { /// <summary> /// 截字符串 /// </summary> ...
- string.Join和Reverse的简单使用示例
String.Join 方法 (String, String[]) 串联字符串数组的所有元素,其中在每个元素之间使用指定的分隔符. 例如,如果 separator 为“,”且 value 的元素为“a ...
- 补充一下sql server(临时表)
说明:(1).临时表其实是放在数据库tempdb里的一个用户表:(2).TempTableName必须带“#”,“#"可以是一个或者两个,以#(局部)或##(全局)开头的表,这种表在会话期间 ...
- 使用XLinq.XElement读取带Namespace(命名空间)的XML
简介 本文主要介绍通过XELemet去读取含有namespaces(xmlns)的XML,这也是偶然间发现这个问题的,一个群里的小伙伴突然问起这个,以此记录一下. 背景 一个XML文档可能包括来自多个 ...