DataTables 1.10 列数
DataTables 1.10 column count
我想添加一个额外的 <thead>
,它将包含我对数据 table 中该列的过滤器。
我可以使用以下脚本来做到这一点。 (为此,我应该在 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 并且我不知道预先的列数并且添加的 table 代码只是 <table id='xxxxxx'></table>
)
我希望问题得到理解,我只需要知道如何使用 datatables 计算列数。
我试过 myDataTable.fnSettings().aoColumns.length
但它说 "fnSettings is not a function" 看起来它在 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().columnDefs
和 table.init().aoColumnDefs
将出现,但 table.init().columns
不会出现,因为您没有将 columns
结构传递给数据表。
我想添加一个额外的 <thead>
,它将包含我对数据 table 中该列的过滤器。
我可以使用以下脚本来做到这一点。 (为此,我应该在 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 并且我不知道预先的列数并且添加的 table 代码只是 <table id='xxxxxx'></table>
)
我希望问题得到理解,我只需要知道如何使用 datatables 计算列数。
我试过 myDataTable.fnSettings().aoColumns.length
但它说 "fnSettings is not a function" 看起来它在 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().columnDefs
和 table.init().aoColumnDefs
将出现,但 table.init().columns
不会出现,因为您没有将 columns
结构传递给数据表。