Datatablejs:搜索不适用于JOIN表结果

时间:2018-02-07 08:00:56

标签: php jquery datatables

我已将数据表https://datatables.net)集成到管理面板中的记录列表中。当我从单个表中获取数据/结果时,所有默认功能(搜索,排序)都正常工作。

但是当我需要加入两个表时,由于Datatable自动搜索您在JS代码中命名的每一列,我面临以下错误。

错误

import org.apache.spark.sql.functions._

df.withColumn("range", 
          when($"articles" >  0 and $"articles" <= 100, lit("1-100"))
            .otherwise(
              when($"articles" > 100 and $"articles" <= 10000, lit("101-10000")).otherwise(lit("others"))
            )
         ).groupBy("range").agg(sum($"articles")).orderBy("range").show

// +---------+-------------+
// |    range|sum(articles)|
// +---------+-------------+
// |    1-100|          109|
// |101-10000|          202|
// |   others|      2010007|
// +---------+-------------+

JS代码:

Column not found: - Unknown column

我该如何解决?有什么建议吗?

1 个答案:

答案 0 :(得分:0)

经过多方努力,我找到了解决方案。

简单地说,您只需要传递新属性“name”以及数据,以便数据表搜索该列。

{ data: "iBookingId","width": "3%","bSortable":false},(=> From booking)<br>
{ data: "vName","width": "10%","bSortable":false},(=> From users)<br>
{ data: "email","width": "15%","bSortable":false},(=> From users)<br>
{ data: "dDate","width": "7%","bSortable":false},(=> From booking)<br>

PS:不要将{ data: "iBookingId" ,"width": "3%","bSortable":false}, { data: "vName",name: 'users.vName' ,"width": "10%","bSortable":false}, { data: "email",name: 'users.email' ,"width": "15%","bSortable":false}, { data: "dDate" ,"width": "7%","bSortable":false}, 作为补丁应用。 :P