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。至此,大功告成。

先填寫表一,填寫后,打開表一的項目,添加新項目,添加子表項目。

效果如下

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM