从零开始的生活是充实的!
SharePoint搞到牛叉!

在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代码

7. 完成看效果

 

 

 

 

 

 

posted on 2010-11-19 15:29  Yunliang Yu  阅读(417)  评论(0编辑  收藏  举报