使用欄位格式化來自定義SharePoint(一)
部落格地址:http://blog.csdn.net/FoxDave
我們可以使用欄位格式化來自定義SharePoint列表和庫中的欄位如何顯示。實現這個,我們需要構建一個JSON物件來描述包含在檢視中的欄位要顯示的元素和元素的樣式。欄位格式化不會改變列表項或檔案的資料,它只為瀏覽列表的使用者變更顯示的樣式。可以在列表中建立和管理檢視的使用者就可以使用欄位格式化來配置檢視裡的欄位如何顯示。
例如,一個具有標題、工作量、指派給和狀態的列表,在沒有應用自定義時的樣子如下圖:
而應用了自定義的樣子可能就如下圖:
欄位格式化跟欄位自定義的區別
欄位格式化和SharePoint Framework欄位自定義擴充套件都可以讓我們能夠自定義欄位如何在SharePoint列表中顯示。欄位自定義器更強大一些,因為我們可以通過編寫程式碼來控制欄位如何顯示。
欄位格式化更簡單和應用廣泛一些。但是相對來說它不允許任何自定義的程式碼,靈活性低一些。下面提供一個表用來對比欄位格式化和欄位自定義器。
自定義的欄位型別 | 欄位格式化 | 欄位自定義器 |
---|---|---|
基於列表項的值或值範圍的條件性格式化 | 支援 | 支援 |
操作連結 | 支援不執行指令碼的靜態超連結 | 支援任何型別的超連結,包括執行自定義指令碼 |
資料視覺化 | 支援簡單的能夠被HTML和CSS表達的視覺化 | 支援任意的資料視覺化 |
如果我們能夠使用欄位格式化完成我們的方案,相對於欄位自定義器,它往往是更快捷和簡單的。任何具有建立和管理列表中檢視許可權的使用者都可以使用欄位格式化來建立和釋出自定製。通常在更復雜的欄位格式化無法支援的場景下才使用欄位自定義器。
開始使用欄位格式化
我們可以通過開啟欄位下的選單的方式開啟欄位格式化皮膚。在列設定下,選擇格式化此列。
如果沒有人對該欄位進行過格式化,開啟的皮膚會如下圖所示:
一個沒有指定格式化的欄位會使用預設的渲染。格式化一個欄位,在輸入框中輸入欄位格式化的JSON即可。
預覽格式化點選預覽按鈕即可。如果要提交我們修改的內容,點選儲存按鈕即可。儲存之後訪問該檢視頁面的使用者就會看到我們應用自定製後的效果。
使用欄位格式化最簡單的方式是從一個示例開始,基於示例進行修改並應用到我們指定的欄位。接下來和之後的文章我們會介紹一些示例,以後如果有類似的需求我們可以直接基於某個示例進行修改以適應我們自己的需求。我們也可以訪問GitHub去檢視更多示例,連結為https://github.com/SharePoint/sp-dev-list-formatting。
顯示欄位值 (基本)
由於篇幅有限,本篇先介紹最簡單的一種欄位格式化,即將欄位值放到一個div元素中。本例對數字、文字、選項和日期型別的欄位有效:
{
"elmType": "div",
"txtContent": "@currentField"
}
一些欄位型別需要一點額外的工作來獲取它們的值。使用者欄位在系統中展示為物件 (object),一個使用者的顯示名稱被包含在該物件的標題屬性中,因此對於使用者欄位,示例進行稍微的修改:
{
"elmType": "div",
"txtContent": "@currentField.title"
}
查閱項欄位也以物件的形式展示;顯示文字被儲存在lookupValue屬性中,示例如下:
{
"elmType": "div",
"txtContent": "@currentField.lookupValue"
}
相關文章
- 使用欄位格式化來自定義SharePoint(二)
- 使用欄位格式化來自定義SharePoint(三)
- 使用欄位格式化來自定義SharePoint(六)
- 使用欄位格式化來自定義SharePoint(五)
- 使用欄位格式化來自定義SharePoint(七)
- 使用欄位格式化來自定義SharePoint(四)
- 使用欄位格式化來自定義SharePoint(八)
- 使用檢視格式化來自定義SharePoint
- 使用自定義任務審批欄位建立 SharePoint 順序工作流
- PhpCms自定義欄位的使用說明PHP
- Request 增加自定義欄位的方式
- laravel model自定義軟刪除欄位Laravel
- Mybatis-plus排除自定義欄位不查詢MyBatis
- 自定義ALV欄位分類時注意
- java欄位格式化Java
- SharePoint JavaScript 更新使用者和組欄位JavaScript
- CodingBlock客戶化自定義新欄位BloC
- 織夢後臺新增自定義欄位樣式修改
- DEDE檢測重複自定義欄位禁止釋出
- django admin中增加自定義超連結欄位Django
- 總結一下公共欄位(aop加自定義註解加反射)反射
- SAP不同的產品是如何支援使用者建立自定義欄位的
- Laravel6:自定義多欄位登入,使用者名稱,郵箱等Laravel
- DedeCMS的checkbox多選欄位自定義取值的方法
- 升級後欄位引數有自定義函式失效函式
- WordPress自定義欄位獲取get_post_meta函式函式
- SD--如何在輸出控制中增加自定義欄位
- 對選擇螢幕上的一個欄位設定自定義Search Help
- Qt隱藏系統標題欄,使用自定義標題欄QT
- UIWebView自定義選單欄UIWebView
- 多型關聯自定義的型別欄位的處理多型型別
- 《物料清單彙總查詢》二開增加自定義欄位
- 織夢多行文字自定義欄位 支援自動換行
- 來一發?直接上圖dev1.1,欄位定義不會變化dev
- hadoop 自定義格式化輸出Hadoop
- JavaScript自定義時間日期格式化JavaScript
- Laravel 自定義表單請求驗證忽略某些欄位驗證Laravel
- Log4Net 新增自定義欄位並儲存到資料庫資料庫