网站搜索

javascript - 我如何基于 data.record 的嵌套对象来创建一个可排序的列?


我正在使用 jquery jtable 将一些数据显示到表格中。对于表格中的每个字段,我使用类似以下的方法来显示数据并支持排序:

sorting: true,
display: (data) =>{
    return data.record.<whatever_value>;
}

这适用于我表中的每个字段,除了其中一个我需要基于记录中的嵌套对象排序的字段。但如果我改成这样做就不行了:

sorting: true,
display: (data) =>{
    return data.record.<Nested_Object>.<Nested_value>;
}

我无论如何也弄不清问题出在哪里。如果有人能指引我正确的方向,我将非常感激。谢谢。

答案#1

jTable 不会进行任何排序。所有排序实际上都是在服务器上完成的。jTable 发送一个带有参数 jtSorting="fieldName ASC/DESC" 的 listAction 请求;

在服务器上通常执行的只是验证参数并将其传递给数据库的 ORDER 子句。在你的情况下,你需要识别特殊字段,并为你需要排序的任意数量的子字段提供复合 ORDER 子句。