Sharepoint2010之父子表实现
在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之父子表实现的更多相关文章
- JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)
前言:上篇 JS组件系列——表格组件神器:bootstrap table 简单介绍了下Bootstrap Table的基础用法,没想到讨论还挺热烈的.有园友在评论中提到了父子表的用法,今天就结合Boo ...
- mybatis父子表批量插入
<!--父子表批量插入 --> <insert id="insertBatch" parameterType="com.niwopay.dto.beni ...
- bootstrap-table 父子表入门篇
官方文档:http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/#多语言 一.引入js.css <!-- 引入bootstrap ...
- mysql 父子表 注意事项
今天遇到一个问题,父子表关联查询时总是多出几条数据,后来排查是父子关系的字段 类型不一致导致的
- SQL 父子表,显示表中每条记录所在层级
1.sqlserer 中有一张父子关系表,表结构如下: CREATE TABLE [dbo].[testparent]( [ID] [int] IDENTITY(1,1) NOT NULL, [nam ...
- 05mycat父子表
表连接的难题在mycat中是不允许跨分片做表连接查询的 创建t_orders表 create table t_orders( id int PRIMARY key, customer_id int n ...
- sql父子表结构,常用脚本
在实际运用中经常会创建这样的结构表Category(Id, ParentId, Name),特别是用于树形结构时(菜单树,权限树..),这种表设计自然而然地会用到递归,若是在程序中进行递归(虽然在程序 ...
- DevExpress中GridColumnCollection实现父子表数据绑定
绑定数据: 父表: DataTable _parent = _dvFlt.ToTable().Copy(); 子表: DataTable _child = _dvLog.ToTable().Copy( ...
- bootstrap-table 实现父子表
1.引入相关的css和js <link type="text/css" href="/components/bootstrap/3.3.7/css/bootstra ...
随机推荐
- 条件编译#ifdef的妙用详解_透彻
这几个宏是为了进行条件编译.一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部 分内容指定编译的条件,这就是“条件编译”.有时,希望当满足某条 ...
- HTML5几种常见的错误写法
本文介绍了HTML5常见的6种错误写法,包括:1.不要使用section作为div的替代品 2.只在需要的时候使用header和hgroup 3.不要把所有列表式的链接放在nav里 4.figure元 ...
- HDU 4431 Mahjong (DFS,暴力枚举,剪枝)
题意:给定 13 张麻将牌,问你是不是“听”牌,如果是输出“听”哪张. 析:这个题,很明显的暴力,就是在原来的基础上再放上一张牌,看看是不是能胡,想法很简单,也比较好实现,结果就是TLE,一直TLE, ...
- poj3041
Asteroids Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12162 Accepted: 6620 Descri ...
- Spring Controller参数为空串的处理方式
控制器参数为String类型 Spring框架接收到传入的空串后,此参数被赋值为空串,不为null. 控制器参数为非String类型 Spring框架接收到传入的空串后,此参数被赋值为null.
- 【PYTHON】二维码生成
二维码是什么? 二维码从一维码扩展而来,增加另一维具有可读性的条码,用黑白矩形图形表示二进制数据,被设备扫描后获取其中包含的信息,二维码的长度.宽度均记载着数据,二维码具有定位点和容错机制,即便没有辨 ...
- stm32上的Lava虚拟机开发进度汇报(1)
这几天我打算在stm32上做一个lava的虚拟机,只要160*80的黑白显示就行了,主要是想怀旧一下,嘿嘿. 目前的进度是图形显示和按键处理完成了,还有文本显示.文件处理.其他函数等. 当然,这都仅是 ...
- Codeforces Round #331 (Div. 2)C. Wilbur and Points 贪心
C. Wilbur and Points Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/596/ ...
- httpclient发送request请求时设置header和timeout
package com.xxx.xxx.common; import java.io.BufferedReader; import java.io.InputStreamReader; import ...
- HoloGraphLibrary
https://github.com/Androguide/HoloGraphLibrary HoloGraphLibrary-master.zip