datatables-1.10 - DataTables 1.10 列数

标签 datatables-1.10

我想添加一个额外的 <thead>这将包含我在数据表中该列的过滤器。

我可以使用以下脚本来做到这一点。 (为此,我应该在 dom 中定义 thead)

var tableid = $('#dataTableBuilder');
num_columns = tableid.find('thead > tr:first > th').length;
tableid.find('thead > tr:first').before('<tr id="filter-row"></tr>');
var filterrow = tableid.find('#filter-row');

while (num_columns-- > 0) filterrow.append('<th></th>');

问题是我不想看 DOM 来找出要添加那么多列的列数 <th> . (这样做的原因是我正在使用 Yajra Datatables HtmlBuilder 来生成我的表,但我不知道预先的列数,并且添加的表代码仅为 <table id='xxxxxx'></table> )

我希望这个问题被理解,我只需要知道如何使用数据表计算列数。

我试过 myDataTable.fnSettings().aoColumns.length但它说“fnSettings 不是一个函数”它看起来像是在 1.10 中被贬低,有什么替代方法吗?

最佳答案

使用 1.10.x API 有多种方法可以获取列数。例子 :

var colCount = table.columns().header().length;
var colCount = table.row(0).data().length;
var colCount = table.columns()[0].length;
...

关于myDataTable.fnSettings().aoColumns.length我相信你在想
table.init().columns/table.init().aoColumns等等

但是table.init()只保存您实际传递给数据表的初始化选项。如果您有这样的 dataTables 初始化

var table = $("#example").DataTable({
   columnDefs : [
     { targets : [0], sortable : false }
   ]
})

然后 table.init().columnDefstable.init().aoColumnDefs将存在,但 table.init().columns不会,因为您还没有通过 columns结构到数据表。

关于datatables-1.10 - DataTables 1.10 列数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34609173/

相关文章:

php - 使用 jquery DataTables 通过 ajax 加载数据时处理 session 超时

javascript - 为什么 jquery 数据表在搜索后没有填充新更新的数据?

javascript - 行重新排序后数据表新添加的行消失

javascript - 自动展开响应式数据表的子行

javascript - 如何在不刷新页面的情况下重新初始化同一页面中的数据表

javascript - 确定 DataTables 是否在 1.10 版本中完成。有回调吗?

jquery - 从 DataTable 中获取列名

jquery - 数据表导出按钮问题 - 按钮不显示

jquery - 禁用初始自动 ajax 调用 - DataTable 服务器端分页

javascript - excelHtml5 按钮不显示