Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在DataTables表的底部努力定位一个总计行_Jquery_Html_Datatables - Fatal编程技术网

Jquery 在DataTables表的底部努力定位一个总计行

Jquery 在DataTables表的底部努力定位一个总计行,jquery,html,datatables,Jquery,Html,Datatables,在过去的两周里,我一直试图在他们的论坛上发帖,但我的帖子或主题从未显示出来 在将表转换为DataTable之前,我从服务器端将其创建为HTML。总数是在服务器端处理的(因为它不像把它们全部加起来那么简单,有平均值和各种各样的数据)。如您所见,总计行在表中的顺序与其他行相同 我尝试将总计行放在页脚中,但这会导致水平滚动条位于数据和总计行之间。这是因为水平滚动条应用于tbody表。由于FixedColumns的工作方式,页脚是其自身表的一部分。。。我试图通过禁用DataTables构造函数中的水平滚

在过去的两周里,我一直试图在他们的论坛上发帖,但我的帖子或主题从未显示出来

在将表转换为DataTable之前,我从服务器端将其创建为HTML。总数是在服务器端处理的(因为它不像把它们全部加起来那么简单,有平均值和各种各样的数据)。如您所见,总计行在表中的顺序与其他行相同

我尝试将总计行放在页脚中,但这会导致水平滚动条位于数据和总计行之间。这是因为水平滚动条应用于tbody表。由于FixedColumns的工作方式,页脚是其自身表的一部分。。。我试图通过禁用DataTables构造函数中的水平滚动条并将其包装在固定宽度的div中来手动重新创建效果。。。它工作,但FixedColumns没有,因为它需要设置滚动宽度

在DataTable的draw回调期间,我曾尝试使用jQuery重新构造表,但FixedColumns将HTML弄得一团糟,我无法做到这一点(大约有4个表,都包含div,都有隐藏/剥离的页眉/正文/页脚,只用于一个表)。我不会发布代码,因为它不起作用,但它涉及到用类标记行、查找所述行、克隆行、删除原始行,然后将克隆行附加到tbody的底部。即使这样,它也会破坏格式,因为奇数/偶数行被移动到彼此相邻的位置=/

我尝试编写自己的排序函数,总是将总计放在底部,但它只有在按名称排序时才起作用(因为这是我唯一一次访问“总计”一词,因为它只有该列的数据)

我觉得我这样做是完全错误的,因为肯定有人以前需要一个服务器端总行。。。我能找到的所有示例都没有使用FixedColumn。

#容器
进行滚动

看到这个了吗

一,- 从
数据表()
初始化中删除
“sScrollX”:“100%”

二,- 将此添加到

#container {
    overflow-x: scroll;
    width: 400px;
    max-width: 400px;
}
截图


我通过使用一段相当粗糙的jQuery修复了这个问题。首先,在页脚中绘制总行,然后将其添加为FrozenColumns构造函数的
fnDrawCallback
。其中,
#datatable_wrapper
与表ID的ID匹配

var totalLabel= jQuery("#datatable_wrapper .DTFC_ScrollWrapper .DTFC_LeftWrapper .DTFC_LeftFootWrapper table tfoot").clone();
jQuery("#datatable_wrapper .DTFC_ScrollWrapper .DTFC_LeftWrapper .DTFC_LeftFootWrapper table tfoot").hide();
jQuery("#datatable_wrapper .DTFC_ScrollWrapper .DTFC_LeftWrapper .DTFC_LeftBodyWrapper table tbody").append(jQuery(totalLabel).html());

var totalData = jQuery("#datatable_wrapper .DTFC_ScrollWrapper .dataTables_scroll .dataTables_scrollFoot .dataTables_scrollFootInner table tfoot").clone();
jQuery("#datatable_wrapper .DTFC_ScrollWrapper .dataTables_scroll .dataTables_scrollFoot .dataTables_scrollFootInner table tfoot").hide();      
jQuery("#datatable_wrapper .DTFC_ScrollWrapper .dataTables_scroll .dataTables_scrollBody table tbody").append(jQuery(totalData).html());

您尝试过FNFooter回调吗?我尝试过,正如我在原始评论中所述。检查实时版本上的Javascript控制台。FixedColumns尚未运行,因此现在当您水平滚动时,它只是一个常规表。将其与在原稿上水平滚动进行比较。