设为首页 收藏本站
查看: 1055|回复: 0

[经验分享] SharePoint 2013 弹窗效果之本地HTML打开方式(二)

[复制链接]

尚未签到

发表于 2015-9-27 12:24:50 | 显示全部楼层 |阅读模式
  上一篇我们主要讲述如何通过showModalDialog方法进行弹出窗体,同时弹出信息定义在新的页面(Application Page),使用
  SP.UI.$create_DialogOptions()里的url属性进行定义,在该文章中我们将介绍如何自定义弹出框中的信息(通过HTML)。
  什么时候使用SP.UI.$create_DialogOptions()里的html属性,主编建议在以下两种情况下可以使用,如果有朋友觉得还有更好的办法,您也可以提出您宝贵的意见供大家学习及参考。第一种:当在页面中需要传递大量数据到弹出页面时,因为url有最大长度限制, 第二种: 详细页面里的数据简单,你也可以使用该方法。
  接下来我们将讲解如何使用SP.UI.ModalDialog类提供了对话框框架的定义(html属性)。
  Steps:


  • 首先我们需要定义弹出框里的信息样式,这里主编放一个Table来存放数据,里面的数据可以通过拼接字符串的格式也可以通过Json


  • 拆分字符串并拼接到Table中


DSC0000.gif DSC0001.gif


1  function openProductNameDialog(obj) {
2         var listItemInfo = '';
3         var gridHtml = '';
4         
5         // 将数据信息拆分
6         var productsList = (obj.text + "").split(',');
7         
8         // 将所有数据依次放在table中
9         for (i = 0; i < productsList.length; i++) {
10             listItemInfo += '<TR class="ms-alternating ms-itmhover" setEdgeBorder="true">' +
11                         '<TD class=ms-vb2>' + productsList + '</TD></TR>';
12         }
13
14         // 定义Table并拼接
15         gridHtml = '<TABLE id="typicalProductsTable" class=ms-listviewtable border=0 cellSpacing=0 summary="Operation history" cellPadding=1 width="100%">' +
16                       '<TBODY><TR class="ms-viewheadertr ms-vhltr" vAlign=top>' +
17                       '<TH class=ms-vh2 scope=col noWrap>Typical Product(s)</TH>' + listItemInfo.toString() +
18                       '</TR></TBODY></TABLE>';
19
20
21         var htmlTitle = "<div id='typicalProductDetial'></div>";
22         $('body').append(htmlTitle);
23
24         $("#typicalProductDetial").html(gridHtml);
25 }
View Code

  • 通过Json解读数据并拼接到Table中





1 // 获取SharePoint List中需要显示的数据,该数据必须是Json格式,这里不做任何讲解
2 var queryResult = oListItem.get_item('Result');
3
4 $("body").append("<div id='result'></div>");
5 $("#result").html(queryResult); //需要将该数据转变成html的形式
6
7 var relstring = $("#result").find("div[class^='ExternalClass']").text(); //获取数据值
8
9
10 var resultList = $.parseJSON(relstring); // 解析json
11
12 // 将数据拼接到Table中
13  for (var i = 0; i < resultList.length; i++) {
14             listItemInfo += '<TR class="ms-alternating ms-itmhover" setEdgeBorder="true">' +
15                         '<TD class=ms-vb2>' + resultList.StdNum + '</TD>' +
16                         '<TD class=ms-vb2>' + resultList.ChineseName + '</TD>' +
17                         '<TD class=ms-vb2>' + resultList.EnglishName + '</TD>' +
18                         '<TD class=ms-vb2>' + resultList.ProductType + '</TD></TR>';
19         }
20
21 // 定义Table
22 gridHtml = '<TABLE id="operationQueryLogTable" class=ms-listviewtable border=0 cellSpacing=0 summary="Operation history" cellPadding=1 width="100%">' +
23                        '<TBODY><TR class="ms-viewheadertr ms-vhltr" vAlign=top>' +
24                        '<TH class=ms-vh2 scope=col noWrap>Std/Reg No.</TH>' +
25                        '<TH class=ms-vh2 scope=col noWrap>Std/Reg Title in Chinese</TH>' +
26                        '<TH class=ms-vh2 scope=col noWrap>Std/Reg Title in English</TH>' +
27                        '<TH class=ms-vh2 scope=col noWrap>Impact on Product Type</TH>' + listItemInfo.toString() +
28                        '</TR></TBODY></TABLE>';
View Code  2. 为了使用对话框框架, 我们需要先创建该对话框的选项:





1 var options = SP.UI.$create_DialogOptions();
2 options.title = "Typical Product(s)"; // 定义窗体上的标题
3 options.html = document.getElementById("typicalProductDetial"); // 在step1中定义的html
4 options.showClose = true; //是否显示close状态
5 options.height = 500; // 定义窗体的高度
6 options.width = 500; // 定义窗体的宽度
7
8 SP.UI.ModalDialog.showModalDialog(options);
View Code  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-119477-1-1.html 上篇帖子: How To: 用 SharePoint 计算列做出你自己的KPI列表 下篇帖子: [原创]SharePoint中,DataView显示附件的一个解决办法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表