0

我正在使用 Asp mvc。我有这张表,它是一个数据表,

在我的页面中,有时会出现或不显示表格的列,具体取决于用户的授权。例如,我有这个带有复选框的表(它动态显示并且在最左边的列上),我希望它是不可排序的。我还想在默认情况下对左侧的第一列进行排序。因此,无论是否出现复选框,我都希望第一个非复选框列是可排序的。这可能吗?。

4

2 回答 2

1

我知道这个问题已经在这里很久了,希望你能解决它。我不确定我是否清楚,但我的建议是您查看此页面以了解如何使用 datatables.net 控制排序:

http://www.datatables.net/release-datatables/examples/advanced_init/sorting_control.html

如果您使用其中一种数据工具,您甚至可以控制显示哪些列或让用户有机会选择他们想要查看的列。看看这里的例子: http ://www.datatables.net/examples/

于 2012-05-02T20:03:48.730 回答
1

通过此代码,您可以通过添加类 'sort-desc' 或 'sort-asc' 对数据表上的各个列进行排序,以便在页面加载时对升序和降序进行排序

$('.dom-table').each(function(index) {
        var sort_column=$('.dom-table thead tr').children().index('.sort-desc');
        var sort_oper='desc';
        if(sort_column < 0)
        {
            var sort_column=$('.dom-table thead tr').children().index('.sort-asc');
            sort_oper='asc';
            if(sort_column < 0)
            {
                sort_column=0;
            }
        }
        $(this).dataTable({
        "sDom": 'T<"clear">lfrtip',
        "aaSorting": [[sort_column,sort_oper]],
    });
});

我没有测试过这段代码,但它应该可以工作。

于 2012-06-08T13:52:39.523 回答