jQuery Datatables Export Buttons动态文件名和标题

时间:2016-02-15 11:05:10

标签: javascript jquery angularjs datatables

我使用jQuery数据表和导出按钮。

我更改了文件名和标题。

我的问题是我希望标题是动态的,基于过滤器和自定义过滤器。

我的问题是第一次加载时配置的文件名

           .withButtons([
                    {
                            extend: "excelHtml5",
                            filename :$scope.getFileName(false),
                            title:$scope.getFileName(true),
                            exportOptions: {
                                    columns: ':visible'
                            },
                            //CharSet: "utf8",
                            exportData: { decodeEntities: true}

                    },

1 个答案:

答案 0 :(得分:1)

当然$scope.getFileName()只会被调用一次,或者你有意调用它的次数。反之亦然:使用init()功能和$watch

.withButtons([{
  extend: "excelHtml5",
  //filename: $scope.getFileName(false),
  //title: $scope.getFileName(true),
  exportOptions: {
    columns: ':visible'
  },
  //CharSet: "utf8",
  exportData: {
    decodeEntities: true
  },

  init: function(dt, node, config) {
     $scope.watch('fileName', function()  
        //config.filename is in fact config.title + config.extension
        config.title = $scope.fileName.title;
        config.extension = $scope.fileName.extension;
     })
  }

}])

你没有解释为什么你需要使用$scope.getFileName(),尽管你使用角度很容易自动化。有了上述内容,您现在可以在需要时在fileName更新$scope结构,导出文件名也会相应更改

$scope.fileName = {
   extension: '.xls',
   title: 'my-table-export'
}