【问题标题】:Kendo Mobile - Filter in Remote DataSource Connected Listview is not workingKendo Mobile - 远程数据源连接列表视图中的过滤器不起作用
【发布时间】:2014-07-06 14:13:37
【问题描述】:

我正在设计一个带有列表视图的模态视图。 listvew 正在从远程数据源获取数据。

我可以获取数据,但是当我在 serch-box 中输入一个值时,它没有响应..

我正在使用无限滚动,数据可能包含数百行。这可能是原因吗?无论如何,我什至无法过滤页面上已经存在的行。

var datasourceLovItems = new kendo.data.DataSource({
  transport : {
      read : {
          url : sample.php,
          dataType : "jsonp",
          type : "GET",
          data : {}
      }
  },

  schema : {
      total : function() {
          return 2000;
      },
      model : {
          fields : {
              RETURN_VALUE : {
                  type : 'string'
              },
              COLUMN_1 : {
                  type : 'string'
              },
              COLUMN_2 : {
                  type : 'string'
              },
              COLUMN_3 : {
                  type : 'string'
              }
          }
      }
  },
  serverPaging : true,
  serverSorting : true,
  serverFiltering: true,
  pageSize : 50
});

$("#lovListView").kendoMobileListView({
  dataSource : datasourceLovItems,
  template : $("#listviewLovTemplate").html(),
  filterable : {
      field : "COLUMN_1",
      operator : "startswith"
  },
  endlessScroll : true
});

【问题讨论】:

    标签: listview kendo-ui filtering datasource kendo-mobile


    【解决方案1】:

    由于serverFilteringtrue,Kendo 应该依靠您的服务器实现来过滤数据。在您的浏览器开发工具中,在您在搜索框中输入几个字符后,检查它是否正在发送网络请求以获取过滤后的数据。

    如果是这样,那么您应该查看服务器的响应。服务器应返回过滤后的数据。

    如果这不是您期望的工作方式,您可以通过将 serverFiltering 设置为 false 来让 Kendo 在客户端完成过滤。

    【讨论】:

    • 我想在客户端做这件事。我把 serverFiltering 设置为 false 就像你说的那样。它现在正在尝试进行一些过滤,但过滤了错误的行。据我所知,当我输入一个值时,第一条记录总是出现
    • 我也把服务器分页和排序设为false(其实我也不知道在服务器端怎么处理)..谢谢解决
    猜你喜欢
    • 1970-01-01
    • 2014-12-08
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多