SharePoint:扩展DVWP - 第3部分:把DVWP的功能链接放在同一行中
前兩篇文章中,我們討論了如何在默認值模板,編輯模板和插入模板中移動欄。本文中,我將向你展示另一個可能對你處理類似頁面時有用的小技巧。
數據視圖Web部件(DVWP)的視圖往往都是將所有內容顯示在一行里的,因此編輯/刪除部分顯示為兩行就會看起來不太協調。讓我們來看一下如何將其調整為一行顯示。
調整前:
?
這個列表只有兩條數據,由于第一行數據中的編輯刪除占了兩行,所以把第二行擠下去了
調整后:
現在鏈接顯示在一行里了,兩行數據都能有地方顯示出來
將其顯示在一行
這一塊HTML不像其他數據列一樣直接上來就是一個td,它實際上使用了一個xsl:if語句調用了一個模板,同時會傳遞該列表項的ID,以便編輯和刪除操作知道要操作哪條數據。
好,讓我們轉到該模板看看具體情形。
1、找到該代碼
我們要找的模板的名稱為dvt_1.automode,可以通過在設計視圖中點隨便的一個編輯或刪除鏈接方便的在代碼視圖中定位到該模板。
SharePoint處理這一部分內容時并沒有縮進顯示。這是我看到的:
<xsl:otherwise><tr><td class="ms-vb" width="1%" nowrap=""><a href="javascript:{…代碼…}">編輯</a></td></tr><tr><td class="ms-vb" width="1%" nowrap=""><a href="javascript:{…代碼…}">刪除</a></td></tr></xsl:otherwise>
我重排了一下縮進,方便閱讀:
<xsl:otherwise><tr><td class="ms-vb" width="1%" nowrap=""><a href="javascript: {…代碼…}">編輯</a></td></tr><tr><td class="ms-vb" width="1%" nowrap=""><a href="javascript: {…代碼…}">刪除</a></td></tr> </xsl:otherwise>注意到現在位于一個xsl:otherwise塊中,在XSL中,該標記屬于xsl:when塊。它表示頁面中的其他部分可能也會用到這個模板。另一條線索是,table標記不再這個塊中;它開始于tr標記,因此肯定是存在于一個table里。
但......
2、編輯代碼
盡管我們知道這一段代碼只是整個頁面代碼的很小一部分,但不難看出它是用兩行的表格顯示每條數據。我們需要在一行中并排顯示,所以只需要簡單的將其合并成一行的表格,即一個<tr>包兩個<td>即可。這樣,既可以保證格式正確,又能達到目的。
只需刪除代碼中的</tr><tr>標記即可:
<xsl:otherwise><tr><td class="ms-vb" width="1%" nowrap=""> <a href="javascript: {…代碼…}">編輯</a> </td><td class="ms-vb" width="1%" nowrap="" style="border-left: 1px black solid"> <a href="javascript: {…代碼…}">刪除</a> </td></tr> </xsl:otherwise>注意到其中的樣式部分:這是為了在編輯和刪除兩個鏈接之間顯示一條線,以明顯分隔,同時不占很多地方。還有就是 會在每個鏈接兩側添加了一個不可截斷的空白,使其看起來更美觀。
與上兩篇文章不同,我們沒有在編輯和插入模板上做同樣的操作。因為我們打算在接下來的系列文章中將其變成按鈕的外觀。
?
參考資料
SharePoint: Extending the DVWP – Part 3: Getting it All on One Line – DVWP Function Action Links
轉載于:https://www.cnblogs.com/Sunmoonfire/archive/2010/08/23/1806149.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的SharePoint:扩展DVWP - 第3部分:把DVWP的功能链接放在同一行中的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 获得本机IP地址
- 下一篇: 在Source Insight中看Pyt