SharePoint 2010 查阅项建立父子关联表的有关问题
SharePoint 2010 查阅项建立父子关联表的问题?
目标:工作任务的布置(新建表单NewForm.aspx)、完成(显示表单DispForm.aspx)、编辑(编辑表单EditForm.aspx),我们往往会给自己布置一个工作任务,当完成一项任务时,就写相关的工作文档,和附加相关部署文件。但我们新建的内容分别存储在不同的列表中,内容多了,以后就不那么容易查出相关资料了,为了方便资料的查找,我们在工作任务的显示和编辑表单中分别插入相关的列表视图,并做web之间的关联(链接),方便以后文件的查找更加方便。
设计思路:以单位博客模板为基础,新建一个网站。在单位博客网站的默认基础上新建一个工作任务的列表,用infopath自定义sharepoint2010 的表单。再给文章列表添加一个任务ID(查阅项)字段与工作任务做关联(连接)进行筛选,在页面上添加一个创建文章的按钮,最后在文章列表的表单中添加一段JS代码用来获取网页地址的ID值,赋值给文章的任务ID(列表表单域)
注:JS代码如下:
<script language="javascript">
function GetQueryString(name)
{
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
var r = parent.location.search.substr(1).match(reg);
if(r!=null)
{
return unescape(r[2]);
}
return null;
}
var selectOBJ=document.getElementById("ctl00_m_g_52d99d69_3209_40de_8d21_e5e2ffe8c90f_ctl00_ctl04_ctl04_ctl00_ctl00_ctl04_ctl00_Lookup");
var URLID=GetQueryString("ID");
for(i=0;i<selectOBJ.length;i++)
{
if(selectOBJ[i].value==URLID)
{
selectOBJ[i].selected=true;
break;
}
}</script>
情况一:如果工作任务数据只有几条,它这个功能是能够实现的,创建的文章任务ID是能够自动关联到任务ID的。
情况二:当工作任务的数据多了(比如二三十条数据),这时候通过原本的JS就不能获取工作任务的ID并赋值给文章显示表单的任务ID。
我想要达的功能类似于单位博客的文章评论功能。
------解决方案--------------------
你可以看一下这个:
http://spjslib.codeplex.com
获取表单字段值、设置字段值都可以实现(超过20个以上的查阅项也支持,不过在某个项目中好像发现有点小bug,可能是母版页div布局造成的)
目标:工作任务的布置(新建表单NewForm.aspx)、完成(显示表单DispForm.aspx)、编辑(编辑表单EditForm.aspx),我们往往会给自己布置一个工作任务,当完成一项任务时,就写相关的工作文档,和附加相关部署文件。但我们新建的内容分别存储在不同的列表中,内容多了,以后就不那么容易查出相关资料了,为了方便资料的查找,我们在工作任务的显示和编辑表单中分别插入相关的列表视图,并做web之间的关联(链接),方便以后文件的查找更加方便。
设计思路:以单位博客模板为基础,新建一个网站。在单位博客网站的默认基础上新建一个工作任务的列表,用infopath自定义sharepoint2010 的表单。再给文章列表添加一个任务ID(查阅项)字段与工作任务做关联(连接)进行筛选,在页面上添加一个创建文章的按钮,最后在文章列表的表单中添加一段JS代码用来获取网页地址的ID值,赋值给文章的任务ID(列表表单域)
注:JS代码如下:
<script language="javascript">
function GetQueryString(name)
{
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
var r = parent.location.search.substr(1).match(reg);
if(r!=null)
{
return unescape(r[2]);
}
return null;
}
var selectOBJ=document.getElementById("ctl00_m_g_52d99d69_3209_40de_8d21_e5e2ffe8c90f_ctl00_ctl04_ctl04_ctl00_ctl00_ctl04_ctl00_Lookup");
var URLID=GetQueryString("ID");
for(i=0;i<selectOBJ.length;i++)
{
if(selectOBJ[i].value==URLID)
{
selectOBJ[i].selected=true;
break;
}
}</script>
情况一:如果工作任务数据只有几条,它这个功能是能够实现的,创建的文章任务ID是能够自动关联到任务ID的。
情况二:当工作任务的数据多了(比如二三十条数据),这时候通过原本的JS就不能获取工作任务的ID并赋值给文章显示表单的任务ID。
我想要达的功能类似于单位博客的文章评论功能。
------解决方案--------------------
你可以看一下这个:
http://spjslib.codeplex.com
获取表单字段值、设置字段值都可以实现(超过20个以上的查阅项也支持,不过在某个项目中好像发现有点小bug,可能是母版页div布局造成的)