我正在尝试使用x
列设置角度 - 用户网格,具体取决于view.trend.getTagsList()
返回的对象数量。 $scope.addData()
是调用一次每隔三秒在角度 - 用户网格中设置动态列的问题
$scope.columns = [];
$scope.setGridColumnWidth = function() {
return (100/view.trend.getTagsList().length + 1) + '%';
}
$scope.redoColumns = function() {
$scope.columns = [];
$scope.columns.push({
displayName: 'TimeStamp', field: 'x', width: $scope.setGridColumnWidth(), sort: {
direction: uiGridConstants.DESC,
priority: 1
}
});
for (var i = 0; i < view.trend.getTagsList().length; i++)
$scope.columns.push({ displayName: view.trend.getTagsList()[i].getTitle(), field: 'y' + view.trend.getTagsList()[i].getId(), width: $scope.setGridColumnWidth() });
}
$scope.addData = function() {
if (view.trend.getTagsList().length > $scope.columns.length) {
$scope.redoColumns();
}
$scope.tslab_grid.data = view.trend.getTagsList()[0].getData();
};
$scope.tslab_grid = {
enableGridMenu: true,
enableColumnResizing: true,
enableRowSelection: true,
multiSelect: false,
enableRowHeaderSelection: false,
paginationPageSizes: 18,
paginationPageSize: 18,
enableVerticalScrollbar: 0,
enableHorizontalScrollbar: 2,
columnDefs: $scope.columns,
data: null
};
现在,作为测试我只尝试用它的数据.getData()
的列表,它包含的{ x: Date, y: value }
列表获取单个对象view.trend.getTagsList()[0]
一个功能。
我的问题是为什么angular-ui-grid不重写$scope.redoColumns()
中的列?我将displayNames改为'X'和'Y',而不是时间戳,不管view.trend.getTagsList()[i].getTitle()
是什么。还想补充一点,在字段上没有'默认'排序:'x'。
尽量把该呼叫并在$超时:$超时($ scope.redoColumns,0); //行为像队列 – Steffomio
@Steffomio没有工作。 –