• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
阿斯普洛斯
博客园    首页    新随笔    联系   管理    订阅  订阅
SHAREPOINT 2013 列表之间相互关联

 修改内容

1.增加列表设置,隐藏Aid字段操作

 

SharePoint 列表之间相互关联

例如两张列表之间的父子关系。

 

思路如下:

列表中新增列表项后会有一个唯一的ID,我们获取到该ID赋予子表即可将两张列表相互关联。

 

效果图如下:

实现起来也是很简单的。下面来动手实践下。

首先我们要定位到显示页面。也就是DispForm.aspx

因为只有显示页面和编辑页面才有会有列表项ID。新建页面是没有ID生成的。

 

新建两张列表。。。

 

注意:新建列表后,需要对列表进行设置,添加Aid栏(列),为了页面好看可以设置成隐藏。

点开列表设置=>高级设置=>启用内容管理

 

点击项目后进入内容类型

 

点击Aid栏(列)后如下图

页面设置基本到此结束。下面需要在spd里手动去操作一些东西。

 

打开SharePoint Designer(SPD) 找到父列表的显示页面

 

在webpart下新增一个按钮。

SPD13取消了视图。。。

但是我们可以用F12 去查看位置。

 

效果如下图:

添加JS.

这里的JS作用是获取当前URL 截取到ID 通过弹窗传到子表的新建页面。效果如下:

在子表的NewForm.aspx 页面 添加JS

JS根据当前URL截取到ID,然后赋予到子表的Aid字段。

整个新建逻辑做完后,我们需要考虑的是如何显示呢?

接下来我们回到父表的显示页面 DispForm.aspx 

在按钮下面插入 显示项目表单

 

然后我们可以发现SPD上多出了个数据视图工具

在选项下面,我们可以设置添加删除列,分页,等等。。。

到这一步的时候我们还需要把显示数据筛选一遍

 

我们新建一个参数,取名为Aid,参数源为查询字符串,查询字符串的变量为ID

然后我们发现在代码里面多出了一行

我们设置筛选条件

 

域名的Aid为 子表的新建字段Aid.

值为我们前面所建的参数Aid。即查询字符串ID

 

整个功能就完成了。

唯一的代码就是两段JS了

 

DispForm.aspx页面的JS

注意 URL为子表 新建项目的URL 加上我们要传过去的Aid

JS代码写的比较随意。。。

function show()
{
    var a=location.search;
    a = a.split("?");
    a = a[1].split("&");
    a =  a[0].split("=");
    //alert(a[1]);
    
    var options = {
                    url: "http://spserver/IT_center/Lists/B/NewForm.aspx?Source=http%3A%2F%2Fspserver%2FIT%5Fcenter%2FLists%2FB%2FAllItems%2Easpx&RootFolder=&Aid="+a[1],
                    width: 600,
                    height: 480,
                    title: "新增列"
                };
              SP.UI.ModalDialog.showModalDialog(options);
    
}

</script>

子表NewForm.aspx页面的JS

 

根据当前URL截取到ID

将ID值赋予到Aid字段。

<script type="text/javascript">

window.onload=function()//
{
    show();
}

function show()
{
    var a=location.search;
    a = a.split("&");
    a = a[2].split("=");
    
    document.getElementById("Aid_43bc1ca7-76dd-4ea6-ae50-da655f99d378_$TextField").value=a[1];
    document.getElementById("Aid_43bc1ca7-76dd-4ea6-ae50-da655f99d378_$TextField").disabled = true;
}

</script>
posted on 2014-07-24 16:24  六指狂魔肉球猫  阅读(2157)  评论(2)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3