angularjs UI 网格 - 动态分配列和数据
angularjs UI grid - assign columns and data dynamically
我正在尝试向 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();
};
请检查 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();
};
如果要删除旧列,可以使用
$scope.gridOptions.columnDefs = new Array();
然后使用以下方式刷新数据:
$scope.gridOptions.data = data1;
$scope.gridApi.grid.refresh();
我正在尝试向 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();
};
请检查 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();
};
如果要删除旧列,可以使用
$scope.gridOptions.columnDefs = new Array();
然后使用以下方式刷新数据:
$scope.gridOptions.data = data1;
$scope.gridApi.grid.refresh();