上一篇我们主要讲述如何通过showModalDialog方法进行弹出窗体,同时弹出信息定义在新的页面(Application Page),使用

SP.UI.$create_DialogOptions()里的url属性进行定义,在该文章中我们将介绍如何自定义弹出框中的信息(通过HTML)。

  什么时候使用SP.UI.$create_DialogOptions()里的html属性,主编建议在以下两种情况下可以使用,如果有朋友觉得还有更好的办法,您也可以提出您宝贵的意见供大家学习及参考。第一种:当在页面中需要传递大量数据到弹出页面时,因为url有最大长度限制, 第二种: 详细页面里的数据简单,你也可以使用该方法。

  接下来我们将讲解如何使用SP.UI.ModalDialog类提供了对话框框架的定义(html属性)。

Steps:

  1. 首先我们需要定义弹出框里的信息样式,这里主编放一个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打开方式(二)的更多相关文章

  1. SharePoint 2013 弹窗效果之URL打开方式(一)

    在SharePoint中想做一个弹出效果其实很简单,仅仅在js中使用SharePoint Modal Dialog, 以下做一个简单的例子:很多情况下我们会通过linkButton弹出一个详细页面,那 ...

  2. sharepoint 2013 文档库 资源管理器打开报错 在文件资源管理器中打开此位置时遇到问题,将此网站添加到受信任站点列表,然后重试。

    我们在使用sharepoint 2013的文档库或者资源库的时候,经常会需要用到使用“资源管理器”来管理文档,但是有时候,点击“使用资源管理器打开”,会提示如下错误: 在文件资源管理器中打开此位置时遇 ...

  3. SharePoint 设置Library中文档的默认打开方式

    在SharePoint Library中的文档, 如word, excel等, 文档有两种打开方式, 一种是Viewer in Browser, 一种是Open in Client applicati ...

  4. 优化移动设备上SharePoint 2013网站

    优化移动设备上SharePoint 2013网站 本文由SPFarmer翻译自Waldek Mastykarz的文章 移动市场在持续的增长.在不远的将来,使用移动设备浏览站点将会超过电脑.为了保证用户 ...

  5. SharePoint 2013 托管导航 无法被开启的解决办法

    在阅读了园子中霖雨的一片博文<SharePoint 2013 托管导航及相关配置>之后,非常想尝试一下SharePoint 2013 中的这个新功能,但是我的网站集包括样式是从2010升级 ...

  6. SharePoint 2013 开发——工作流架构

    博客地址:http://blog.csdn.net/FoxDave SharePoint 2013的工作流较之前有了不同,第一次真正地作为独立的服务的概念推出了.这意味着SharePoint工作流不再 ...

  7. SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)

    上个示例(SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API))是基于JavaScript,运行在web browser内去访问REST AP ...

  8. SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API)

          虽然 JQuery 也能通过授权header实现跨域, 但SharePoint 提供了更简单的方法,它被实现在SP.RequestExecutor里 .它能访问跨域的服务包括REST AP ...

  9. SharePoint 2013 APP 开发示例 (四)JQuery访问REST

    这个示例里,我们将用JQuery AJAX去发送一个 REST请求,并查看返回结果.为了让我们更好地理解REST 接口,我们将添加一个输入框让用户可以指定REST的URL, 这将让我们尝试着用构造的U ...

随机推荐

  1. selenium.common.exceptions.TimeoutException: Message: Screenshot: available via screen

    在使用selenium+phantomjs的时候在Windows平台下能够正常工作,在Linux下却不能,并得到错误信息: selenium.common.exceptions.TimeoutExce ...

  2. js实现table中前端搜索(模糊查询)

    项目中用到js前端搜索功能,根据 姓名或姓名 进行 搜索,实现方法如下,遍历table所有行中的某列,符合条件则置tr为display:'',不满足条件置tr为display:none. 代码如下: ...

  3. PopupWindow源码分析

    PopupWindow是我们经常使用的一个控件,严格来说这个PopuWindow就用来在指定位置显示一个View. 经过分析源码,PopupWindow里面没有Window对象,只是把View设置到屏 ...

  4. OC中类别、扩展、协议与托付

    类别(category)--通过使用类别,我们能够动态地为现有的类加入新方法.并且能够将类定义模块化地分不到多个相关文件里.通常仅仅在类别中定义方法. 类别,接口部分的定义,通常该文件命名为已有&qu ...

  5. 【边做项目边学Android】小白会遇到的问题--This Android SDK requires Android Developer Toolkit version 23.0.0 or above

    问题描写叙述: 上一篇讲到解决Appcompat_V7问题要减少adt版本号,于是就换旧版本号22.3.0啊,又一次打开Eclipse.立刻弹出: This Android SDK requires ...

  6. [RxJS] What RxJS operators are

    We have covered the basics of what is Observable.create, and other creation functions. Now lets fina ...

  7. Netty4具体解释二:开发第一个Netty应用程序

        既然是入门,那我们就在这里写一个简单的Demo,client发送一个字符串到server端,server端接收字符串后再发送回client. 2.1.配置开发环境 1.安装JDK 2.去官网下 ...

  8. 创建文档和自定义的qt assistant

    利用qt制作帮助文档 1.         创建文档即是一些html文件,这里可以使用qt提供的工具像是qdoc 和Doxygen生成帮助的html文档. 2.         组织文档结构用于qt ...

  9. qt 状态栏

    有段时间没有写过博客了.假期去上海旅游,所以一直没有能够上网.现在又来到这里,开始新的篇章吧!   今天的内容主要还是继续完善前面的那个程序.我们要为我们的程序加上一个状态栏.   状态栏位于主窗口的 ...

  10. WCF - 契约

    契约就是双方或多方就某个问题达成的一种的共识  服务提供者通过契约的形式将服务公布出来 服务消费者根据契约来消费 这样通过契约这个中间者就可以规范服务提供的内容 而服务消费者也可以根据契约来使用服务端 ...