2013-03-19 48 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论坛,所以你可以在这里发布这个或任何其他问题。