单击Datatable中的按钮时显示列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单击Datatable中的按钮时显示列相关的知识,希望对你有一定的参考价值。

我正在使用Datatable - JQuery的表插件 - 如下:

$('#my_table').DataTable({
    ...,

    "aoColumns": [
        {"bSortable": false,
            render: function (data, type, row, meta) {
                return meta.row + meta.settings._iDisplayStart + 1;
            } 
        },
        {"bSortable": false},
        {"bSortable": false},
        {"bSortable": false},
        {"bSortable": true, bVisible:false}, /* to hide */
        {"bSortable": false},
    ],
    ...
});

正如人们在代码中看到的那样,第5列是隐藏的。我想在点击按钮时显示此列。有谁能帮助我实现这个目标?

提前致谢。

答案

您可以隐藏/显示列,如下所示:

$("#btn").click(function() {
    var table = $('#my_table').DataTable();
    table.column(4).visible(true);
});

另一种方式是

$("#btn").click(function() {
    var table = $('#my_table').DataTable();
    table.fnSetColumnVis( 4, true );
});
另一答案

您可以在按钮中添加外部事件,如.onClick('element'),或将其附加到侦听和更改bVisible属性的行标识符,或者,您也可以在object属性中包含一个回调函数来执行更改:{"bSortable": true, bVisible:function(){/*listen to click event on a specific element*/}},

请注意,也许你需要再次渲染表,因为它处理不完整的表有困难,功能可能被截断,我会得到更多的信息。

以上是关于单击Datatable中的按钮时显示列的主要内容,如果未能解决你的问题,请参考以下文章

如何在单击按钮时使用参数更新 DataTable?

仅在单击某个按钮时显示弹出窗口

片段事务中的实例化错误

AlertDialog 更改片段中的背景颜色 [重复]

如何从Android中的片段单击按钮打开片段

添加新片段时显示的按钮