我正在尝试动态添加列ui-grid并分配数据.第一次,电网工作正常.但是,当我尝试动态更改列和数据时,它无法正常工作.
$scope.myfunc = function() {
alert("Rebinding the data");
$scope.gridOptions = {};
$scope.gridOptions.columnDefs.push({
name: 'firstName'
});
$scope.gridOptions.columnDefs.push({
name: 'lastName'
});
$scope.gridOptions.columnDefs.push({
name: 'company'
});
$scope.gridOptions.columnDefs.push({
name: 'employed'
});
alert("added new columns");
$scope.gridOptions.data = data1;
$scope.gridApi.grid.refresh();
};
Run Code Online (Sandbox Code Playgroud)
请检查一下plunkr
任何人都可以调查这个问题并建议我如何做到这一点?
我想你可以删除代码: $scope.gridOptions = {};
最新的plunker
第二个data1应该被推到第一个data
我用最新的代码更改了plunker,请检查它!
$scope.myfunc = function()
{
alert("Rebinding the data");
$scope.gridOptions.columnDefs = new Array();
$scope.gridOptions.columnDefs.push({
field: 'firstName'
});
$scope.gridOptions.columnDefs.push({
field: 'lastName'
});
$scope.gridOptions.columnDefs.push({
field: 'company'
});
$scope.gridOptions.columnDefs.push({
field: 'employed'
});
alert("added new columns");
$scope.gridOptions.data = data1;
/* for(var i=0; i<$scope.gridOptions.data.length; i++){
$scope.gridOptions.data[i].firstName = data1[i].firstName;
$scope.gridOptions.data[i].lastName = data1[i].lastName;
$scope.gridOptions.data[i].company = data1[i].company;
$scope.gridOptions.data[i].employed = data1[i].employed;
} */
$scope.gridApi.grid.refresh();
};
Run Code Online (Sandbox Code Playgroud)
如果你想删除旧列,你会使用
$scope.gridOptions.columnDefs = new Array();
然后使用以下方法刷新数据
$scope.gridOptions.data = data1;
$scope.gridApi.grid.refresh();
Run Code Online (Sandbox Code Playgroud)