Angular-datatables 添加一列到通过 promise 加载的 table
Angular-datatables adding a column to a table loaded via promise
已经尝试过:
与 a previous question 中解决的关于 promise 函数的问题类似。搜索了所有这些之后,我仍然不太明白如何处理我的以下问题:
问题:
我正在尝试将用户指定的数据加载到 angular-datatable table。用户可以 select 他们想查看哪些字段。我能找到的最好的方法是通过 promise 加载列数据。
不过,我还想添加一个操作列来删除和编辑数据行,因此我试图将此列数据推送到设置数组中。这当然是行不通的,因为它是一个 promise 对象而不是实际的数组。
我不知道如何以这种方式安排功能以这种方式添加最后一列(我是一个相当新的培训开发人员)。以下是来自控制器的代码摘录:
function angularDataTable(DTOptionsBuilder, DTColumnBuilder, $q, $resource) {
var vm = this;
vm.dtOptions = DTOptionsBuilder.fromSource('resources/customerData.json')
.withPaginationType('full_numbers');
vm.dtColumns = $resource('resources/fieldSelection.json').query().$promise;
//So I know this is the incorrect way to work with promise objects but I don't know how to rearrange it to work.
vm.dtColumns.push(DTColumnBuilder.newColumn(null).withTitle('Actions').notSortable().renderWith(actionsHtml));
vm.edit = edit;
vm.delRow = deleteRow;
function actionsHtml(data, type, full, meta) {
return '<button class="btn btn-warning" ng-click="table.edit(' + data.id + ')">' +
' <i class="fa fa-edit"></i>' +
'</button> ' +
'<button class="btn btn-danger" ng-click="table.delRow(' + data.id + ')">' +
' <i class="fa fa-trash-o"></i>' +
'</button>';
}
function edit(id) {
console.log('edit');
}
function deleteRow(id) {
console.log(id);
}
}
查看 tabletools 部分 http://l-lin.github.io/angular-datatables/#/withTableTools
此外,如果您在控制器中定义列,则可以使用 notVisibile()
和 visible()
隐藏和显示列。有关示例,请参阅 http://l-lin.github.io/angular-datatables/#/rerender。
已经尝试过:
与 a previous question 中解决的关于 promise 函数的问题类似。搜索了所有这些之后,我仍然不太明白如何处理我的以下问题:
问题:
我正在尝试将用户指定的数据加载到 angular-datatable table。用户可以 select 他们想查看哪些字段。我能找到的最好的方法是通过 promise 加载列数据。
不过,我还想添加一个操作列来删除和编辑数据行,因此我试图将此列数据推送到设置数组中。这当然是行不通的,因为它是一个 promise 对象而不是实际的数组。
我不知道如何以这种方式安排功能以这种方式添加最后一列(我是一个相当新的培训开发人员)。以下是来自控制器的代码摘录:
function angularDataTable(DTOptionsBuilder, DTColumnBuilder, $q, $resource) {
var vm = this;
vm.dtOptions = DTOptionsBuilder.fromSource('resources/customerData.json')
.withPaginationType('full_numbers');
vm.dtColumns = $resource('resources/fieldSelection.json').query().$promise;
//So I know this is the incorrect way to work with promise objects but I don't know how to rearrange it to work.
vm.dtColumns.push(DTColumnBuilder.newColumn(null).withTitle('Actions').notSortable().renderWith(actionsHtml));
vm.edit = edit;
vm.delRow = deleteRow;
function actionsHtml(data, type, full, meta) {
return '<button class="btn btn-warning" ng-click="table.edit(' + data.id + ')">' +
' <i class="fa fa-edit"></i>' +
'</button> ' +
'<button class="btn btn-danger" ng-click="table.delRow(' + data.id + ')">' +
' <i class="fa fa-trash-o"></i>' +
'</button>';
}
function edit(id) {
console.log('edit');
}
function deleteRow(id) {
console.log(id);
}
}
查看 tabletools 部分 http://l-lin.github.io/angular-datatables/#/withTableTools
此外,如果您在控制器中定义列,则可以使用 notVisibile()
和 visible()
隐藏和显示列。有关示例,请参阅 http://l-lin.github.io/angular-datatables/#/rerender。