数据表:当serverSide选项为true时,如何搜索呈现(已更改)数据

时间:2015-04-24 01:49:49

标签: datatables jquery-datatables

我正在使用数据表1.10。

我想在serverSide选项为true时搜索渲染(已更改)数据。

实施例

  1. 服务器为m字段返回fgender
  2. 使用渲染功能:Male mFemale f
  3. 搜索Male失败,因为服务器没有任何Male性别
  4. 这是一些数据表的初始代码。

    $('#UserList').dataTable({
      serverSide: true,
      columns: [
        {data: 'gender', render: function(data, type, full, meta) {
          if (type === 'display' || type === 'filter') {
            switch (data) {
              case 'm': return 'Male';
              case 'f': return 'Female';
              default: return 'Unknown';
            }
          }
          return data;
    ...
    

    有什么想法吗?

1 个答案:

答案 0 :(得分:1)

以下是official documentation的摘录。根据定义,启用服务器端处理后,将不会执行客户端过滤。

  

客户端处理 - 其中过滤,分页和排序计算都在Web浏览器中执行。

     

服务器端处理 - 其中过滤,分页和排序计算均由服务器执行。

使用serverSide: true时,系统不会在type等于filter的情况下调用渲染。

解决方案是调整服务器端代码以处理此特殊情况,即当请求中的参数search[value]包含单词Male时,请包含gender字段等于{的记录{1}}等等。