在sharepoint2007里 designer制作的工作流,生成时审批页面是aspx的页面

但在2010里却变为了infopath的页面。

在aspx里面我很容易就可以将item的信息显示出来

在infopath里面加item信息可能么?答案是有点难,或者是不太可能,反正我没搞定,希望高人可以指点。

既然看起来是不太可能的事,那怎么办呢。

在编辑工作流任务时是个弹出窗口,用ie8,查看源文件时,就发现这个页面实际上layouts下的页面WrkTaskIP.aspx

这个页面是网站通用页面。infopath的表单就是被镶嵌在这个画面中。修改它,会将影响到整个farm。

不过我选择了修改它,这样可以将所有工作流审批画面中都带有item的信息。

1. 下一个最新的jquery包。放在layouts目录下,将文件名更改为jquery.js

2. 在wrkTaskIP.aspx页面中找到<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">这个内容区域

3. 在区域中有个class=“ms-informationbar” 的table

<table class="ms-informationbar" style="margin-top: 10px;" border="0" cellpadding="2" cellspacing="0" width="100%">

4. 在这个table的下面添加一个iframe

<iframe width="100%" height="300px" id="showItemDisplayForm">
 </iframe>

5. 在区域中找到<% SPHttpUtility.NoEncode(m_pageDescription,Response.Output); %>这段代码在工作流审批画面中用来显示item的标题,同时也会带有item的链接地址,可以在新窗口中打开item的display画面。我们将利用这段代码,来完成显示item的display画面。在这段代码对应的td上添加一个Id=“itemLink”

<td id="itemLink">
    <% SPHttpUtility.NoEncode(m_pageDescription,Response.Output); %>
   </td>

6. 在区域的最后面添加一段js代码

<script src="/_layouts/jquery.js" src="_layouts/jquery.js" ></script> <script language="javascript"> var showDialog = function () { var itemlink = $("#itemLink").find("a").attr("href"); var newItemLink = itemlink + "&isdlg=1"; $("#showItemDisplayForm").attr("src",newItemLink); } _spBodyOnLoadFunctionNames.push('showDialog'); </script>

7. 完成看效果

 

sharepoint2010在工作流审批画面显示item信息

 

 

 

 

 

转载于:https://www.cnblogs.com/yunliang1028/archive/2010/11/19/2136835.html

相关文章:

  • 2021-07-22
  • 2021-12-31
  • 2021-11-09
  • 2021-06-03
  • 2021-10-24
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-07
  • 2021-09-28
  • 2022-01-20
  • 2022-12-23
相关资源
相似解决方案