Sharepoint 2010.应用于listview的Webpart表单过滤器不清楚

时间:2014-01-28 03:30:26

标签: listview sharepoint sharepoint-2010 web-parts

我在一个显示多条记录的页面上有一个列表视图。每条记录都有“ID”列(1,2,3,4 ......)。我想让用户过滤listview和文本字段。用户输入他/她搜索的“ID”值,点击“查找”按钮,列表视图应显示符合用户标准的记录。我添加了带有文本字段的表单webpart,并通过connections属性将其连接到列表,如下所述:

How do you filter a SharePoint list with a text field?

第一次效果很好:当用户键入值并按“搜索”时 - 列表视图会被过滤掉。

当用户尝试删除过滤器时会发生此问题。 1.用户无法通过“ID”列的下拉菜单删除过滤器。虽然列显示为已过滤(显示特殊图标),但它无法正常工作。 2.用户无法通过删除文本字段中的所有符号并再次单击“搜索”来删除过滤器。

我做错了什么?

我发现了类似的问题: http://www.dotnetspark.com/links/47412-unable-to-clear-filter-on-sharepoint-list.aspx

但没有提出解决方案:(

更新

这是文本字段的临时解决方案 - 当它为空且用户点击“搜索”时,只需刷新整个页面。我不确定这是否是最佳实践(我更喜欢在没有页面刷新的情况下更新listview)。

<div onkeydown="T1keydown()">
  <input type="text" name="T1" id="T1T1"/>
  <input type="button" value="Search" onclick="T1apply()"/>

  <script type="text/javascript">

function T1keydown() {
  if (event.keyCode == 13) 
    T1apply();
}

function T1apply() {
  var text = document.getElementById("T1T1").value;
  if (text.length > 0) 
  {
    _SFSUBMIT_;
    return;
  }
  window.location.href=window.location.href;
}

  </script>
</div>

1 个答案:

答案 0 :(得分:0)

可能你会喜欢这个。只需添加内容编辑器/ Html表单webpart即可。并添加以下代码。这样您就可以更好地控制外观和想要做的事情。

$(document).ready(function() {


  $("#search").click(function() {
    var id = $("#IDVal").val();
    var params = "FilterFeild1=ID&FilterValue1=" + id;
    //alert(params);
    location.href = location.href.split("?")[0] + "?" + params;


  });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<input type="text" id="IDVal" />
<input type="button" id="search" value="Search" />