我正在使用 Asp mvc。我有这张表,它是一个数据表,
在我的页面中,有时会出现或不显示表格的列,具体取决于用户的授权。例如,我有这个带有复选框的表(它动态显示并且在最左边的列上),我希望它是不可排序的。我还想在默认情况下对左侧的第一列进行排序。因此,无论是否出现复选框,我都希望第一个非复选框列是可排序的。这可能吗?。
我正在使用 Asp mvc。我有这张表,它是一个数据表,
在我的页面中,有时会出现或不显示表格的列,具体取决于用户的授权。例如,我有这个带有复选框的表(它动态显示并且在最左边的列上),我希望它是不可排序的。我还想在默认情况下对左侧的第一列进行排序。因此,无论是否出现复选框,我都希望第一个非复选框列是可排序的。这可能吗?。
我知道这个问题已经在这里很久了,希望你能解决它。我不确定我是否清楚,但我的建议是您查看此页面以了解如何使用 datatables.net 控制排序:
http://www.datatables.net/release-datatables/examples/advanced_init/sorting_control.html
如果您使用其中一种数据工具,您甚至可以控制显示哪些列或让用户有机会选择他们想要查看的列。看看这里的例子: http ://www.datatables.net/examples/
通过此代码,您可以通过添加类 '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]],
});
});
我没有测试过这段代码,但它应该可以工作。