- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过单击按钮来显示多个 ngGrid。但是当这些网格的网格选项中的columnDef选项不同时,问题就来了。请找到我的骗子http://plnkr.co/edit/y878sCsl3PJ04MhcAKYI?p=preview 。在这里,当我们单击“创建多个 ng 网格”时,网格 2 和网格 3 数据显示正常,因为网格选项中的这两个 columnsDef 是相同的。但是Grid1数据没有出现,其在Grid选项中的columnDef与Grid2和Grid3不同。作为引用,我通过“Create ng Grid1”和“Create ng Grid2”将它们单独分开,它们工作正常。我尝试使用“创建多个网格”按钮一起创建相同的网格。但第一个网格数据没有出现。谁能帮我解决一下吗?
以下是我的网格选项设置代码:
if (dashletteId == 1) {
$scope.myData = $scope.tabs[dashVar].data;
$scope.myColumnDefs = $scope.getColumnDefs($scope.tabs[dashVar].columns);
$scope[gridOptions] = {
data: 'myData',
showGroupPanel: true,
jqueryUIDraggable: false,
columnDefs: $scope.myColumnDefs
};
} else {
$scope.myData = $scope.tabs[dashVar].data;
$scope.myColumnDefs = $scope.tabs[dashVar].columns;
$scope[gridOptions] = {
data: 'myData',
showGroupPanel: true,
jqueryUIDraggable: false,
columnDefs: $scope.myColumnDefs
};
}
$scope.getColumnDefs = function( columns ){
var columnDefs = [];
columnDefs.push({field: 'mode', displayName: 'Mode', enableCellEdit: true, width: '10%'});
columnDefs.push({field:'service', displayName:'Service', enableCellEdit: true, width: '10%'});
angular.forEach(columns, function( value, key ) {
columnDefs.push({field: key, displayName: value, enableCellEdit: true, width: '10%' })
});
return columnDefs;
};
最佳答案
所有 3 个网格 columnDefs
都指向 $scope.myColumnDefs
最终所有网格的 columnDefs 都会被评估为同一个数组。
您可能需要分隔要分配给columnDefs的范围变量。
var template = '<div class= "chartsDiv">';
var config = {
1: {
gridOptions: 'gridOptionsOne',
data: 'dataOne',
columnDefs: 'colDefsOne'
},
2: {
gridOptions: 'gridOptionsTwo',
data: 'dataTwo',
columnDefs: 'colDefsTwo'
},
3: {
gridOptions: 'gridOptionsThree',
data: 'dataThree',
columnDefs: 'colDefsThree'
},
};
for (var dashVar = 0; dashVar < $scope.tabs.length; dashVar++) {
var name = "Recovery";
var dashletteId = $scope.tabs[dashVar].dashletteId;
var axisType = $scope.tabs[dashVar].axisType;
var chartName = "chart" + name.replace(/ +/g, "") + dashVar;
var tableData = "chart" + name.replace(/ +/g, "") + dashVar;
var gridOptions = "gridOptions" + chartName;
if (axisType == "table") {
if (dashletteId == 1) {
$scope[config[dashletteId].columnDefs] = $scope.getColumnDefs($scope.tabs[dashVar].columns);
} else {
$scope[config[dashletteId].columnDefs] = $scope.tabs[dashVar].columns;
}
$scope[config[dashletteId].data] = $scope.tabs[dashVar].data;
$scope[config[dashletteId].gridOptions] = {
data: config[dashletteId].data,
showGroupPanel: true,
jqueryUIDraggable: false,
columnDefs: config[dashletteId].columnDefs
};
template += ' <div class="col"> <p class="graphtitle">' + $scope.tabs[dashVar].dashletteName + ' </p> <div class="gridStyle" ng-grid="' + config[dashletteId].gridOptions + '"></div>';
}
}
template += ' </div>';
// alert(template)
angular.element(document.body).append($compile(template)($scope));
关于javascript - Angularjs ng 网格,当网格选项中的 columnsDef 在多个 ng 网格显示期间不同时,无法显示某些 ng 网格的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27763853/
我有一个 Angular UI 网格,用于填充报告的数据。现在我有近 20 个报告,我想使用一个 UI 网格来填充所有报告的数据。我基本上是尝试通过循环对象的属性来在运行时配置 columnDefs
我正在尝试通过单击按钮来显示多个 ngGrid。但是当这些网格的网格选项中的columnDef选项不同时,问题就来了。请找到我的骗子http://plnkr.co/edit/y878sCsl3PJ04
我是一名优秀的程序员,十分优秀!