文章目錄
本文實質上講述的內容是一個資料準備的通用技巧,也是為了接下來的DVWP擴充作準備。對於管理員來說也都是些基礎的SharePoint操作,有經驗的讀者請略過。
前面我們完成了建立網站欄,為網站欄填充資料,建立關係列表,和為關係列表填充資料的工作。但是,你可能非常希望在關係列表中使用標題列,以使將來的維護工作變得容易些。這是可以理解的,特別是當需要修改其中的某些資料或在將來進行新增資料操作時。有一個唯一標識的標題會省很多事。
可以通過兩種方式來實現:
1、建立一個工作流程,當清單項目建立好後,自動拼接父項和子項產生一個標題。
問題:這種方式對於我們通過複製/粘貼填充多行資料(像上一篇博文中那樣)的情境來說不適用。因為當其中一塊資料粘貼過來時,該行已經建立,但是另一塊資料還是空的。因此“建立項目時自動啟動此工作流程”將不適用。“只要更改了項目,就自動啟動此工作流程”的方式需要我們首先檢查標題是否已經正確設定,如果為否則修改它,這個操作本事也會除非修改型的工作流程本身。這樣會把伺服器掛起,直到你手動結束該工作流程。
顯然,這種方式不適合用在初始化批量上資料。但它可以用在將來單條添加資料的情境。特別是你必須手工建立父子關係時(無論如何,理論上是這樣的)。
2、另一個可以很快想到的方法是在資料工作表檢視中建立一個計算資料行,迅速將兩者進行拼接。然後只要在標題欄位上複製粘貼整個欄即可。
問題:查閱項型的欄在計算欄配置頁面中是看不見的。
但是,我們可以使用Excel實現相同的想法。
這正是我們在這篇博文中將要討論的內容。
更
Excellent的方法
運行Excel,我們將找到一種更加容易的方法來填充我們的關係列表。
1、在一個新的活頁簿上,在B欄的第一格儲存格內輸入第一個父項。
在Excel中填寫資料的順序要和在我們列表的資料工作表檢視中的順序一致
2、回到我們的子列表,選中第一個父項對應的所有子項,然後按Ctrl-C進行複製
3、回到Excel,然後在C欄下按Ctrl-V進行粘貼
4、轉到子列表的底部(按Ctrl-下箭頭)
5、通過按左箭頭,將焦點移到左側的欄
6、按住Ctrl和Shift鍵,按上箭頭選中該欄中此儲存格上的所有儲存格,包括第一行中已填寫資料的儲存格
7、按Ctrl-D向下填充
8、為其他父子重複以上操作。
9、在Excel中移到A1儲存格
10、在fx視窗中,輸入=CONCATENATE(B1,"-",C1)
11、按斷行符號鍵後A欄中就得到一個由父和子產生‘標題’。
12、把游標放在B或C欄中,按Ctrl-下箭頭轉到所輸入資料的底部。然後按左箭頭移到A欄。
13、按住Ctrl和Shift,按上箭頭選中所有空白儲存格和第一行中包含資料的儲存格(這裡是A1)。
14、按Ctrl-D向下填充該公式。這樣所有的記錄就都得到了一個描述性質的標題
15、點一下A1。按住Ctrl和Shift,按右箭頭,然後按下箭頭。按Ctrl-C複製所有資料。
16、回到關係列表,點一下標題下面的第一個儲存格(游標應該處於不可見狀態,只是出現高亮的外框)
17、按Ctrl-V粘貼整個關係列表的資料。
實現級聯
無論你是用這種方法還是用上一次介紹的方法,現在我們都可以開始用jQuery實現控制項的級聯了,在下一次擴充DVWP系列中我們就會介紹具體的實現。
參考資料
SharePoint: Extending the DVWP – Part 19: User-Managed Dropdowns – Loading the Relationship list – Part 2