获取所选列的索引(DataTables + ColVis) [英] Get indexes of selected columns (DataTables + ColVis)

查看:119
本文介绍了获取所选列的索引(DataTables + ColVis)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用jQuery插件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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆