Sharepoint 2010 SharePoint 2010使用自动完成文本搜索筛选列表结果

Sharepoint 2010 SharePoint 2010使用自动完成文本搜索筛选列表结果,sharepoint-2010,Sharepoint 2010,我正在创建一个SharePoint 2010 aspx页面,其中包含多个链接列表。顶部是我们的“核心表”,用户可以从中选择,并更新下面的连接列表。 我正在尝试创建一个具有自动完成功能的搜索框,它允许用户对核心表中的名称列表进行排序/筛选/搜索,这将允许用户选择单个结果并更新链接表 我尝试了几件不走运的事情,包括HTML表单(需要显式文本),以及我在这里找到的一些选项和其他在线资源,都没有成功。我认为,对链接列表的依赖正在导致打嗝。此外,核心表包含数百个条目,因此需要分页。默认视图包含分组 提前感

我正在创建一个SharePoint 2010 aspx页面,其中包含多个链接列表。顶部是我们的“核心表”,用户可以从中选择,并更新下面的连接列表。 我正在尝试创建一个具有自动完成功能的搜索框,它允许用户对核心表中的名称列表进行排序/筛选/搜索,这将允许用户选择单个结果并更新链接表

我尝试了几件不走运的事情,包括HTML表单(需要显式文本),以及我在这里找到的一些选项和其他在线资源,都没有成功。我认为,对链接列表的依赖正在导致打嗝。此外,核心表包含数百个条目,因此需要分页。默认视图包含分组


提前感谢。

也有同样的问题,似乎有很多自动完成的解决方案,但其中一个,SPServices库,是目前为止最好的。它不仅适用于自动完成,还适用于其他许多事情。请务必阅读有关这方面的全部文档

我的猜测是,设置一个基本的常规过滤器Web部件(或BDC过滤器),将其链接到核心表,然后在过滤器搜索上应用自动完成功能可能会达到目的

一些关于如何应用jQuery代码的例子可以在互联网上找到(我会发布它们,但我的名声不好,只允许2个链接),还有来自SPServices图书馆的作者Marc Anderson的博客

就我个人而言,这段简单的代码帮了我的忙:

<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>

$(文档).ready(函数(){
document.getElementById('ctl00_m_g_b3f08547_27a4_484c_938a_f92864c47b7a_SPTextSlicerValueTextControl')。标题='Test';
$().SPServices.SPAutocomplete({
sourceList:“TestList”,//列表的名称
sourceColumn:“Title”,//从中获取数据的列的名称
columnName:“Test”//要应用自动完成的列/文本框的名称
ignoreCase:是的,
numChars:3,
滑下速度:50,
调试:正确
});
});
请注意,该代码使用单行文本列类型和
title
属性。现在,我的过滤器没有 有任何
title
属性,但它确实有一个
id
属性,所以我只是添加了它,如代码的第一行所示

顺便说一句,有一个StackExchange论坛专门讨论这个问题,所以你可以在那里发布这个问题或其他任何问题