为什么服务器端数据表显示一个页面中的所有记录,搜索不起作用?

问题描述 投票:0回答:1

我一直在使用数据表。一切都工作得很好,问题是 - 分页不完美,搜索不工作 - 所有数据只显示在一个页面

我使用下面的代码初始化数据表 -

$(document).ready(function () {
    $('#example').DataTable({

        "processing" : true,
        "serverSide" : true,
        "pageLength" : 5,
        "lengthMenu": [[10, 25, 50, -1], [10, 25, 50, "All"]],
        "ajax" : {
            url: "/users",
            type:"GET",
            dataSrc : "data",
        },
        "columns":[
             {"data": "id"},
            {"data": "name"},
            {"data": "tweet"}
        ]
    });

});

和我的控制器服务(播放框架)

 public Result ListAll(){
    List<User> users = User.find.all();
    System.out.println(toJson(users).toString());
    DataTableObject dataTableObject = new DataTableObject();
    dataTableObject.setData(users);

    String json = toJson(dataTableObject).toString();
    System.out.println("----> " + json );
    return ok(toJson(dataTableObject));

}

和DataTableObject类

public class DataTableObject {
    int draw = 1;
    int  recordsTotal= 26;

    int  recordsFiltered =26;

    List<User> data;

    public int getRecordsTotal() {
        return recordsTotal;
    }

    public void setDraw(int draw) {
        this.draw = draw;
    }

    public int getDraw() {
        return draw;
    }

    public void setRecordsTotal(int recordsTotal) {
        this.recordsTotal = recordsTotal;
    }

    public int getRecordsFiltered() {
        return recordsFiltered;
    }

    public void setRecordsFiltered(int recordsFiltered) {
        this.recordsFiltered = recordsFiltered;
    }


    public List<User> getData() {
        return data;
    }

    public void setData(List<User> data) {
        this.data = data;
    }

}

这是我的http://localhost:9000/的截图

java jquery mysql datatables playframework-2.6
1个回答
0
投票

使用serverSide:true时,Datatables不处理搜索,过滤,分页或排序。您必须根据sent parameters数据表在您对表进行分页,排序或搜索时使用Get / Post请求进行操作来操纵您的查询。

© www.soinside.com 2019 - 2024. All rights reserved.