UI 网格 AngularJS:单元格过滤器重新对齐 table 数据
UI Grid AngularJS: Cell Filter realigns the table data
我希望 table 内容在单元格中右对齐。我正在 AngularJS.
中使用 pdfmake 导出数据
当我将此过滤器应用于 table 数据时,它左对齐 table 数据。
这是过滤器:
app.filter('rentalFilter', function () {
return function (value, scope) {
// Only perform logic if the value is actually defined
if(typeof value != 'undefined') {
if(value == null || value == "")
value = 0;
value = value.toFixed(2);
if(value >= 0) {
var parts=value.toString().split(".");
return parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + (parts[1] ? "." + parts[1] : "");
}
else {
value = value * -1.00;
value = value.toFixed(2);
var parts=value.toString().split(".");
return "-" + parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + (parts[1] ? "." + parts[1] : "");
}
}
};
});
如果没有此过滤器,exporterPdfAlign: 'right'
会对齐每一列中的所有内容。
{
name : 'mondayNet',
displayName : 'Net',
category : "MONDAY",
exporterPdfAlign: 'right',
width : '14%',
cellTemplate : 'app/views/common/templates/cell/pos-neg-cell-template.html',
footerCellTemplate : '<div class="ui-grid-cell-contents text-center" ng-class="{positive : col.getAggregationValue() > 0, negative : col.getAggregationValue() < 1}">{{col.getAggregationValue() | number : 2}}</div>',
aggregationType : uiGridConstants.aggregationTypes.sum,
enableColumnMenu : false
},
如何在过滤器中对文本应用右对齐?谢谢
在
内
$scope.export()
这就是将所有数据导出为 pdf 的原因,我添加了这个以右对齐每列下的所有数据
var alignRight = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
angular.forEach(content.content[0].table.body, function(row, rowIndex) {
if (rowIndex !== 0) {
angular.forEach(row, function(column, columnIndex) {
if (alignRight.indexOf(columnIndex) !== -1) {
content.content[0].table.body[rowIndex][columnIndex] = {
text: content.content[0].table.body[rowIndex][columnIndex],
alignment: 'right'
};
}
});
}
});
我希望 table 内容在单元格中右对齐。我正在 AngularJS.
中使用 pdfmake 导出数据当我将此过滤器应用于 table 数据时,它左对齐 table 数据。 这是过滤器:
app.filter('rentalFilter', function () {
return function (value, scope) {
// Only perform logic if the value is actually defined
if(typeof value != 'undefined') {
if(value == null || value == "")
value = 0;
value = value.toFixed(2);
if(value >= 0) {
var parts=value.toString().split(".");
return parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + (parts[1] ? "." + parts[1] : "");
}
else {
value = value * -1.00;
value = value.toFixed(2);
var parts=value.toString().split(".");
return "-" + parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + (parts[1] ? "." + parts[1] : "");
}
}
};
});
如果没有此过滤器,exporterPdfAlign: 'right'
会对齐每一列中的所有内容。
{
name : 'mondayNet',
displayName : 'Net',
category : "MONDAY",
exporterPdfAlign: 'right',
width : '14%',
cellTemplate : 'app/views/common/templates/cell/pos-neg-cell-template.html',
footerCellTemplate : '<div class="ui-grid-cell-contents text-center" ng-class="{positive : col.getAggregationValue() > 0, negative : col.getAggregationValue() < 1}">{{col.getAggregationValue() | number : 2}}</div>',
aggregationType : uiGridConstants.aggregationTypes.sum,
enableColumnMenu : false
},
如何在过滤器中对文本应用右对齐?谢谢
在
内$scope.export()
这就是将所有数据导出为 pdf 的原因,我添加了这个以右对齐每列下的所有数据
var alignRight = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
angular.forEach(content.content[0].table.body, function(row, rowIndex) {
if (rowIndex !== 0) {
angular.forEach(row, function(column, columnIndex) {
if (alignRight.indexOf(columnIndex) !== -1) {
content.content[0].table.body[rowIndex][columnIndex] = {
text: content.content[0].table.body[rowIndex][columnIndex],
alignment: 'right'
};
}
});
}
});