获取所选列的索引(DataTables + ColVis) [英] Get indexes of selected columns (DataTables + ColVis)
本文介绍了获取所选列的索引(DataTables + ColVis)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我必须得到用户选择显示的列的索引的数组(此信息将用于创建可自定义的导出表)。
例如:用户选择从表这里。我需要获得[1,2]。
任何想法?
解决方案
编辑以前的答案
我想出了一个更好的方式使用数据表API:
//你必须传递datatable对象。
//在您的示例中,您应该传递$('#example')。dataTable();
var fnGetVisibleColumns = function(oTable){
var counter = 0;
aColumns = new Array();
$ .each(oTable.fnSettings()。aoColumns,function(c){
if(oTable.fnSettings()。aoColumns [c] .bVisible == true){
aColumns。 push(counter)
}
counter ++;
});
返回aColumns;
}
//现在你可以做var aVisibleColumns = fnfnGetVisibleColumns($('#example')。dataTable());
// aVisibleColumns是[1,2],如果用户只显示浏览器和平台列
I am using the jQuery plugin DataTables + ColVis to show tables. I have to get an array of the indexes of the columns which the user has chosen to display (this information will be used for creating a customizable table for export).
For example: A user chooses to display only Browser and Platform(s) from the table here. I need to obtain [1,2].
Any ideas?
解决方案
EDIT TO PREVIOUS ANSWER
I figured out a better way using datatables API:
//You have to pass the datatable object.
//in the case of your example you should pass $('#example').dataTable();
var fnGetVisibleColumns = function(oTable) {
var counter = 0;
aColumns = new Array();
$.each(oTable.fnSettings().aoColumns, function(c){
if(oTable.fnSettings().aoColumns[c].bVisible == true){
aColumns.push(counter)
}
counter++;
});
return aColumns;
}
//Now you can do var aVisibleColumns = fnfnGetVisibleColumns($('#example').dataTable());
//aVisibleColumns is [1,2] if the user displays only "browser" and "platform" columns
这篇关于获取所选列的索引(DataTables + ColVis)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文