如何从angularJS-datatables

时间:2017-11-13 04:36:27

标签: angularjs angular-datatables

我想拥有一个csv下载按钮,需要从表格中排除几列。

我发现exportOptions定义了应导出哪些列。 此选项来自jQuery datatalbles,table.column()方法可能用于选择列。

现在我需要选择某些列,但我无法找到角度数据表的方式。

有谁知道解决方案?

    <table dt-options="dtOptions" dt-column-defs="dtColumnDef">
        <thead>
            <tr>
                <th>hoo</th>
                <th>hoo</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>hoo</td>
                <td>hoo</td>
            </tr>
        </tbody>
    </table>



<script>
    // here is inside my controller

    $scope.dtOptions = DTOptionsBuilder
    .newOptions()
    .withDOM('tB')
    .withButtons([
    {
        text: 'download csv',
        extend: 'csv',
        exportOptions:
        {
            // columns: I neet to select certain columns here
            // wiht method like "table.columns(0)" mentioned in jQuery datatables document
            // but I don't know how in angular-datatables
        }
    }]);
</script>

我使用angular-way来渲染表格。

1 个答案:

答案 0 :(得分:1)

角度方式和纯jQuery DataTable之间没有区别。而且您不需要访问exportOptions中的表格实例。你需要的是返回column selector;这里有一些例子(不知道你到底想要做什么):

exportOptions: {
  columns: [0,4,5] //some columns by index
}
exportOptions: {
  columns: 'th' //any column
}
exportOptions: {
  columns: ['th:eq(1)', 'th:eq(5)'] //same as numbered array
}
exportOptions: {
  columns: 'th:not(:first)' //exclude the first column
} 
exportOptions: {
  columns: 'th:not(.no-export)' //exclude columns with class no-export
}