2013-03-19 47 views
1

我使用多個鏈接列表創建SharePoint 2010 aspx頁面。頂部是我們的「核心表」,用戶可以從中選擇,並更新下面的連接列表。 我試圖創建一個搜索框,具有自動完成功能,允許用戶排序​​/過濾/搜索核心表中的名稱列表,這將允許用戶選擇單個結果並鏈接表更新。SharePoint 2010使用自動完成文本搜索過濾列表結果

我已經嘗試了幾件沒有運氣的事情,包括HTML表單(需要明確的文本),以及我在這裏找到的一些選項和其他在線資源,但未成功。我認爲對鏈表的依賴導致打嗝。此外,核心表包含數百個條目,因此需要分頁。默認視圖包含分組。

在此先感謝。

回答

0

有同樣的問題,似乎有很多自動完成解決方案,但是this之一,SPServices庫,是迄今爲止最好的。它不僅適用於自動完成,它適用於大量其他事情。請務必閱讀關於此的所有文檔。我的猜測是設置一個基本的常規過濾器Web部件(或BDC過濾器),將其鏈接到核心表,然後在過濾器搜索上應用自動完成功能可能會有所裨益。

有關如何應用jQuery代碼的一些示例可以在互聯網上找到(我會發布它們,但是我的低信譽只允許2個鏈接),並且來自SPServices庫的作者Marc Anderson的博客here

就個人而言,這個簡單的代碼爲我做的伎倆:

<script language="javascript" type="text/javascript" src="/SiteAssets/Scripts/jquery-1.8.3.min.js"></script> 
<script language="javascript" type="text/javascript" src="/SiteAssets/Scripts/jquery.SPServices-0.7.2.min.js"></script> 
<script language="javascript" type="text/javascript"> 
    $(document).ready(function() { 
     document.getElementById('ctl00_m_g_b3f08547_27a4_484c_938a_f92864c47b7a_SPTextSlicerValueTextControl').title = 'Test'; 

     $().SPServices.SPAutocomplete({ 
      sourceList: "TestList", //The name of your List 
      sourceColumn: "Title", //The name of the column you are taking the data FROM 
      columnName: "Test", // The name of the column/textbox you want to apply the Autocomplete TO 
      ignoreCase: true, 
      numChars: 3, 
      slideDownSpeed: 50, 
      debug: true 
     }); 
    }); 
</script> 

注意,代碼使用文本列類型的單行和title財產。現在,我的過濾器沒有 有任何title屬性,但它確實有一個id之一,所以我剛添加它,如第一行代碼中所示。

順便說一句,有一個專門針對SharePoint的StackExchange論壇,所以你可以在這裏發佈這個或任何其他問題。