2014-11-21 101 views
1

我有一個SharePoint 2013(雲版本)自定義列表,其中1列是鍵入聯繫人號碼的文本字段。 如何讓SharePoint突出顯示該列中的重複值每次將新項目添加到列表中時,我都會知道以前是否使用過聯繫人號碼?突出顯示SharePoint 2013中的重複列表項

理想的情況下,這裏是如果我進入816的細節的第二次我會得到:

CNO ....名稱.......問題
816 ... ..Blink ........登錄問題(以紅色突出顯示)
907 ..... Sink .........拒絕訪問
204 ..... Mink ... ......閃爍屏幕
816 .....閃爍........空白屏幕(以紅色突出顯示)

我一直在st堅持這一段時間,並會非常感激任何意見。謝謝!

回答

0

由於SharePoint 2013使用客戶端側渲染(CSR)作爲默認渲染模式我會推薦以下方法。基本上這個想法是在客戶端定製列表視圖,如下所示。

假設Requests列表包含RequestNo列。

下面的JavaScript模板適用於當RequestNo列列表項時,曾多次強調行:

SPClientTemplates.TemplateManager.RegisterTemplateOverrides({ 
    OnPostRender: function(ctx) { 
    var rows = ctx.ListData.Row; 

    var counts = getItemCount(rows,'RequestNo'); //get items count  

    for (var i=0;i<rows.length;i++) 
    { 
     var count = counts[rows[i]["RequestNo"]]; 
     if (count > 1) 
     { 
     var rowElementId = GenerateIIDForListItem(ctx, rows[i]); 
     var tr = document.getElementById(rowElementId); 
     tr.style.backgroundColor = "#ada"; 
     } 
    } 
    } 
}); 


function getItemCount(items,propertyName) 
{ 
    var result = {}; 
    for(var i = 0; i< items.length; i++) { 
     var groupKey = items[i][propertyName]; 
     result[groupKey] = result[groupKey] ? result[groupKey] + 1 : 1; 
    } 
    return result; 
} 

如何應用更改

選項1:

以下是可能的最簡單的方法之一如何應用這些更改:

  1. 公開賽在Edit模式的頁面
  2. 在頁面上使用 script標籤到Web部件

選項2包圍它添加Content EditorScript Editor Web部件

  • 插入指定的JavaScript模板:

    1. 將指定的JavaScript模板保存爲文件(讓我們將其命名爲duplicatehighlight。JS),並上傳到網站資產庫
    2. 打開的頁面中Edit模式和列表視圖Web部件找到JSLink財產
    3. 指定值:~sitecollection/SiteAssets/duplicatehighlight.js並保存更改。

    結果

    enter image description here

  • +0

    瓦迪姆嗨。我試過了,但現在我所有的行都被高亮顯示,而不僅僅是重複的行。我將腳本中的'RequestNo'替換爲列的名稱。還有什麼我失蹤? – 2014-11-24 06:41:40

    +0

    嗨,我再次驗證腳本,它對我來說完全符合所提供的圖像演示。如果它顯示突出顯示的所有行,可能所有行都被複制(CNO列在您的情況下是重複的)? – 2014-11-24 08:01:53

    +0

    Hi Vadim,只是一個更新:當我選擇一個列而不是我的標題列時,它終於有效。謝謝加載!但是,是否有任何方法可以顯示亮點,而無需先點擊編輯頁面? – 2014-11-25 04:53:46

    1

    SharePoint對Data View Web部件和XSLT列表視圖有一些基本的條件格式,但您可以使用的條件相當有限。您可以將當前項目中的字段與您指定的值進行比較。沒有公式來計算具有相同名稱或相似項目的數量,這將是用於識別重複項目的方法。

    如果您需要識別重複項,您可能需要創建一個按CNO編號分組的視圖。分組也將包括一個項目數量,所以你可以在列表中找到並找出包含多個項目的組。