Angularjs 在Angular JS中,如何禁用选定列的列排序功能

Angularjs 在Angular JS中,如何禁用选定列的列排序功能,angularjs,angular-datatables,Angularjs,Angular Datatables,在jquery数据表中,我可以禁用特定的列排序方式 "aoColumnDefs": [{ 'bSortable': false, 'aTargets': [0, 7] }] 有人知道如何用JS做这个吗 <table class="custom-table" datatable="ng" dt-options="dtOptions" id="contacts-list-table"> </t

在jquery数据表中,我可以禁用特定的列排序方式

"aoColumnDefs": [{
                'bSortable': false,
                'aTargets': [0, 7]
            }]
有人知道如何用JS做这个吗

<table class="custom-table" datatable="ng" dt-options="dtOptions" id="contacts-list-table">
</table>

myApp.controller("ListCtr", ['DTOptionsBuilder', function(DTOptionsBuilder) {
  $scope.dtOptions = DTOptionsBuilder.newOptions().withDOM('C<"clear">lfrtip') 
}])

myApp.controller(“ListCtr”,['DTOptionsBuilder',函数(DTOptionsBuilder){
$scope.dtOptions=DTOptionsBuilder.newOptions().withDOM('Clfrtip'))
}])

这段代码隐藏了我的搜索栏,但无法隐藏我的第一列和第四列的排序功能?

角度数据表等价于

aoColumnDefs:[{bSortable:false,aTargets:[0,4]}]

$scope.dtColumnDefs=[
DTColumnDefBuilder.newColumnDef(0).notSortable(),
DTColumnDefBuilder.newColumnDef(4).notSortable()
];


必须在控制器中包括
DTColumnDefBuilder

myApp.controller(“ListCtr”、['DTOptionsBuilder'、'DTColumnDefBuilder',
函数(DTOptionsBuilder、DTColumnDefBuilder){
$scope.dtOptions=DTOptionsBuilder.newOptions().withDOM('Clfrtip');
$scope.dtColumnDefs=[
DTColumnDefBuilder.newColumnDef(0).notSortable(),
DTColumnDefBuilder.newColumnDef(4).notSortable()
];
}
])

请参见

我尝试了所有可能的解决方案来禁用排序,但唯一对我有效的方法是:
顺序:false

我的
dt选项如下所示

vm.dtOptions = {
        dom: '<"top"f>rt<"bottom"<"left"<"length"l>><"right"<"info"i><"pagination"p>>>',
        pagingType: 'simple',
        autoWidth: false,
        responsive: true,
        order: false, // This fixed the issue
        columnDefs : [{
            targets: [0, 1, 2, 3, 4, 5, 6, 7], // column or columns numbers
            orderable: false,  // This was not working
            filterable: false,
            sortable  : false                
            },
            {
                // Target the actions column
                targets           : 8,
                responsivePriority: 1,
                filterable        : false,
                sortable          : false,
                orderable: false
            }                
        ]
    }
vm.dtOptions={
dom:'rt',
pagingType:“简单”,
自动宽度:false,
回答:是的,
顺序:false,//这解决了问题
columnDefs:[{
目标:[0,1,2,3,4,5,6,7],//列数
orderable:false,//这不起作用
可过滤:false,
可排序:false
},
{
//以“操作”列为目标
目标:8,
响应优先级:1,
可过滤:false,
可排序:false,
可订购:false
}                
]
}

您希望您的tr元素不可单击吗?你能把tr代码也贴出来吗?如果您粘贴完整的表代码,这将非常有用。其中一种方法是您可以对该div/tr元素使用ng click=“$event.stopPropogation();”,并在js中对其进行操作。。。。如果你提供更多关于如何实现表格的详细信息,你会给你一个更具体的答案吗?你能提供一个提琴或弹拨器,或者发布你的表格代码吗?你知道如何在角度数据中设置“aLengthMenu”:[[5,10,15,20,-1],[5,10,15,20,“All”]]table@vinothini,太好了,你让它工作了(显然是吗?)-关于
aLengthMenu
没有“已翻译”的名称/方法,但是您应该使用
。withOption('aLengthMenu',[[5,10,15,20,-1],[5,10,15,20,“All”]])
在您的案例中
$scope.dtOptions=dtoptionBuilder.newOptions()。withDOM('Clfrtip')。withOption('aLengthMenu',[[5,10,15,20,-1],[5,10,15,20,“All”])
withOption()
只需将
此[key]=value
添加到options文本中即可。@davidkonrad我正遭受着同样的问题。你能提供任何帮助吗?这是我问题的链接