在Sharepoint的实际运用中会经常使用到父子表来建立2个表之间的关系。通常父表为表头,存储公共的数据项目,子表存储细分的项目。

例如通过下面2个表实现图书借阅功能,表1为图书的基础信息,表2为图书的借阅记录,采用查阅字段调用表一的图书数据。

1、先建一个自定表,字段如表1所示。

表1   图书表

2、再建个自定义表,增加查阅字段

表2   图书借阅记录字段如下

3、打开建好的表一,新建一条记录,如下所示

4、选择列表的数据,点击菜单上的“自定义表单”,调用Infopath2010对表单进行定制.

调整后的表单如下

图书编号希望采用自动编号功能,编号规则 TS+4位年号+3位序号。序号采用列表ID。增加数据源,采用图书表作为数据源。

图书编号的属性里增加公式如下,ID为插入辅助数据源的域“ID”。预览一下,可以正常显示了。

5、回到表1图书表的列表,选择上面菜单“表单web部件”,选择“显示窗体”。

选择添加web部件,如下所示,添加图书借阅记录表。

建立2表的连接,点击web部件右上角的小三角,数据发送对象,选择图书借阅记录,配置连接

完成后选择右上角的停止编辑。点击表一 图书表的列表项目,可以看到效果如下。点击添加记录,可以增加借阅记录。

6、此方法添加项目,需要手动选择主表的编号,不太方便而且容易出错。下面对表2进行如下改造。用Infopath编辑表2的表单,新建一个字段ID1,用于存储主表ID。

ID1增加一条规则,当ID1不为空时,设置图书编号=ID1

图书编号 增加一条格式规则。当图书编号不为空时,禁用此控件。

7、上传表单到服务器后,进入表2 的表单web部件,(项目)新窗体。向窗体web部件增加一个查询字段URL筛选器

配置筛选器,筛选字段填写 ID1,停止编辑。配置筛选器web的连接,选择ID1

8、测试一下 ,浏览器填写表2的新建项目的连接地址  newifs.aspx?ID1=1  ,实现了通过URL传递参数,效果如下。

9、回到表1,打开表1的表单web部件,显示窗体,添加web部件,选择内容编辑器,编辑HEML源代码。

添加以下jqurey代码,由于本例采用jqurey,需要集成到Sharepoint内,可参考以下方法集成。

http://www.cnblogs.com/Sunmoonfire/archive/2012/07/27/2612510.html

代码如下,获取表1的ID,生成表2的带传递ID参数的地址。

<script type="text/jscript">

function test()
{
var tt=document.aspnetForm.attributes["action"].value;
var arr=new Array();
arr=tt.split('&');
var ID1=arr[1].substring(3,10);
var url1 = "http://列表地址/Item/newifs.aspx?ID1="+ ID1;
return url1;
}
function openModalDialog()
{
var UURL=test();
NewItem2(event,UURL);
}</script>

10、用 SharePoint Designer 2010 编辑表1的项目显示窗体

点击添加新项目

点击下面的标记的小三角,编辑标记

粘贴下面的代码

<a class="ms-addnew" href="#" onclick="javascript:openModalDialog();javascript:return false;" target="_self"> 

保存后退出SPD。至此,大功告成。

先填写表一,填写后,打开表一的项目,添加新项目,添加子表项目。

效果如下

Sharepoint2010之父子表实现的更多相关文章

  1. JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)

    前言:上篇 JS组件系列——表格组件神器:bootstrap table 简单介绍了下Bootstrap Table的基础用法,没想到讨论还挺热烈的.有园友在评论中提到了父子表的用法,今天就结合Boo ...

  2. mybatis父子表批量插入

    <!--父子表批量插入 --> <insert id="insertBatch" parameterType="com.niwopay.dto.beni ...

  3. bootstrap-table 父子表入门篇

    官方文档:http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/#多语言 一.引入js.css <!-- 引入bootstrap ...

  4. mysql 父子表 注意事项

    今天遇到一个问题,父子表关联查询时总是多出几条数据,后来排查是父子关系的字段 类型不一致导致的

  5. SQL 父子表,显示表中每条记录所在层级

    1.sqlserer 中有一张父子关系表,表结构如下: CREATE TABLE [dbo].[testparent]( [ID] [int] IDENTITY(1,1) NOT NULL, [nam ...

  6. 05mycat父子表

    表连接的难题在mycat中是不允许跨分片做表连接查询的 创建t_orders表 create table t_orders( id int PRIMARY key, customer_id int n ...

  7. sql父子表结构,常用脚本

    在实际运用中经常会创建这样的结构表Category(Id, ParentId, Name),特别是用于树形结构时(菜单树,权限树..),这种表设计自然而然地会用到递归,若是在程序中进行递归(虽然在程序 ...

  8. DevExpress中GridColumnCollection实现父子表数据绑定

    绑定数据: 父表: DataTable _parent = _dvFlt.ToTable().Copy(); 子表: DataTable _child = _dvLog.ToTable().Copy( ...

  9. bootstrap-table 实现父子表

    1.引入相关的css和js <link type="text/css" href="/components/bootstrap/3.3.7/css/bootstra ...

随机推荐

  1. FIREDAC连接MSSQL 2000报不能支持连接MSSQL2000及更低版本的解决办法

    FIREDAC连接MSSQL 2000的时候会报错,原因是MSSQL CLIENT11或MSSQL CLIENT10客户端驱动程序已经不支持连接MSSQL2000及更低版本的数据库. 解决办法: 设置 ...

  2. Serializable 序列化为文件

    package test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExcept ...

  3. Javascript高级篇-面向对象的特性

    一.创建对象 1.1初始化器 var any={ name:"some", age:10, action:function(){ alert(this.name+":&q ...

  4. Unity3D之Mecanim动画系统学习笔记(二):模型导入

    我们要在Unity3D中使用上模型和动画,需要经过下面几个阶段的制作,下面以一个人形的模型开发为准来介绍. 模型制作 模型建模(Modelling) 我们的美术在建模时一般会制作一个称为T-Pose( ...

  5. 【Java】多线程冲突解决——同步锁

       转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5827547.html    解决并行冲突最有效的方法就是加同步锁,主要有以下几种方法:   1:动态方法 ...

  6. Oracle-11g 从表空间删除数据文件

    从表空间删除数据文件前提条件 如果欲从表空间中删除数据文件,那么该数据文件必须为空,否则将报出"ORA-03262: the file is non-empty"的错误.   从表 ...

  7. [置顶] 《Windows编程零基础》__2 一个完整的程序

    Windows开发的常识 1)窗口 Windows中最基本的概念也许就是窗口了,每一个前台程序都至少有一个窗口,一个窗口也是你可以看到的部分,比如,QQ有如下的登录窗口 基本上你在Windows中可见 ...

  8. WinForms 新窗体后台打开完美的解决

    最近在做浏览器开发时,想要实现 IE 6那种多窗体,又允许后台打开而不抢占视野的方式. WinForms 应用程序中想要后台打开一个新的窗体,而不(抢焦).(遮挡)目前窗体. 需要注意的是,SW_SH ...

  9. 解决VS2012新建MVC4等项目时,收到加载程序集“NuGet.VisualStudio.Interop…”的错误

    初装V2012,新建MVC4新项目时出现以下错误: 解决方法为: 通过VS2012的“工具-扩展和更新-联机”安装“NuGet Package Manager”扩展包,可以顺利新建MVC4项目啦!

  10. 【转】一个安全测试的CheckList

    转自:http://hi.baidu.com/dontcry/item/90c2bc466558c217886d1075 不登录系统,直接输入登录后的页面的URL是否可以访问: 不登录系统,直接输入下 ...