java - 自定义 JSON 来填充数据表

标签 java jquery json datatable

我正在从 Ajax json 创建一个 DataTable。

resultTable = $('#changeTable').DataTable({
            "order": [[0, "desc"]],
            "pageLength": 50,
            "scrollX": true,
            "lengthMenu":[[50,100,250, -1], [50, 100, 250, "All"]],
            "dom":'<"toolbar">ltipr', //write ltfipr to show a search bar
            "ajax":{
                url:"api/changes",
                "dataType":"json",
                timeout:15000
            }
    });

数据表创建但显示错误:

DataTables warning: table id=changeTable - Requested unknown parameter '0' for row 0, column 0. For more information about this error, please see http://datatables.net/tn/4

我的 JSON 如下所示

{"data":
    [
       {"id":1,
        "createdDate":"Apr 18, 2018 4:10:58 PM",
        "source":"manual upload",
        "emailId":"manual upload",
        "attachmentId":"manual upload",
        ...,},
       {next objet}]}

这样的 JSON 对象是在我的 Java Controller 中创建的:

@RequestMapping(value = "/api/changes", method = RequestMethod.GET, produces = "application/json")
    @ResponseBody
    public String getChanges(){
        Optional<List<PriceChange>> priceChangeList = pcService.findAllPriceChanges();
        JsonObject result = new JsonObject();
        if (priceChangeList.isPresent()) {
            result.add("data", new Gson().toJsonTree(priceChangeList.get()));
            return  result.toString();
        }
        return null;

    }

我不知道如何将此信息与 dataSrc 属性一起使用以使其适用于 DataTable。有什么想法吗?

最佳答案

您只需要定义 columns 对于 table 。如果你有

<table id="changeTable"></table>

将其添加到您的数据表选项中:

resultTable = $('#changeTable').DataTable({
  ...,
  columns: [
     { data: 'id', title: 'id' },
     { data: 'createdDate', title: 'createdDate' },
     { data: 'source', title: 'source' },
     { data: 'emailId', title: 'emailId' },
     { data: 'attachmentId', title: 'attachmentId' }
   ]
})

如果 ypu 指定了 <thead>您可以跳过 title 部分的。

关于java - 自定义 JSON 来填充数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52281343/

相关文章:

java - 带变量名的命令行参数

java - 基于 Java 的简单 CRUD 网站的最佳技术

javascript - 我试图让点击只工作 4 次然后之后就不起作用了,尽管我不确定我做错了什么?

javascript - jqgrid 只允许每行选择一个单元格。执行排序后不工作

python - API 调用 (json) 上的 UnicodeEncodeError

javascript - 如何从angularjs中的json获取特定的唯一值

Java 泛型类的方法不适用于传递的参数

java - ibatis域类应该用作javabean吗?

javascript - JQuery .hover SlideDown SlideUp 工作但单击不工作

javascript - TypeAhead.js 和 Bloodhound 显示奇数​​个结果