如何在 ag-grid 中为数字右对齐文本

Posted

技术标签:

【中文标题】如何在 ag-grid 中为数字右对齐文本【英文标题】:How to right align text in ag-grid for number 【发布时间】:2021-01-11 14:32:13 【问题描述】:

如果 ag-grid 中的任何单元格具有十进制、整数或数字等数值,我希望该单元格右对齐。

this.defaultColumnDefs = 
      width: 75,
      exportColumn: true,
      type: 'numericColumn',
      cellClass(params) 
        return params.colDef.type === 'numericColumn' ? 'ag-numeric-cell' : '';
      ,
      filterParams: 
        buttons: ['clear'],
      ,
      menuTabs: ['filterMenuTab'],
      filter: 'agTextColumnFilter',
      resizable: true,
      sortable: true
    ;

它以前可以工作,现在我必须转到每一列并指定类型。为什么不采用默认类型?

【问题讨论】:

到目前为止你尝试了什么? @Ekta 您使用的是哪个 agGrid 版本? @Ekta 我有一个项目正在做同样的事情,在默认列定义中使用 type 和 cellClass,它仍在工作。使用版本 23。 【参考方案1】:

相当简单...

var colDef = 
    name: 'No. Field',
    field: 'noField',
    cellStyle: function(params) 
        if (typeof params.value === 'number') 
            return text-align: 'right';
         else 
            return null;
        
    

您可以通过您的整个 ColumDefinitions (ColDef) 集以编程方式将该单元格样式应用于您的所有列。

顺便说一句,这来自 ag-grid 的官方文档(尽管有所改变)

【讨论】:

我实际上在 desc 中粘贴了代码,在我更新之前它曾经可以工作,然后它没有采用这种风格,我已经更新了我的问题【参考方案2】:

Ag-grid documentation提供了一个简单的解决方案:

columnDefs: [
         headerName: 'Column A', field: 'a' ,
         headerName: 'Column B', field: 'b', type: 'rightAligned' ,
    ]

只需添加 type: 'rightAligned' 属性。

【讨论】:

【参考方案3】:

如果您只希望列标题和单元格都右对齐,您可以使用 NicuVlad 的答案:

columnDefs: [
         headerName: 'Column A', field: 'a' ,
         headerName: 'Column B', field: 'b', type: 'rightAligned' ,
    ]

但是,如果您只希望单元格右对齐而不是标题:

columnDefs: [
         headerName: 'Column A', field: 'a' ,
         headerName: 'Column B', field: 'b', cellClass: 'ag-right-aligned-cell' ,
    ]

如果您希望标题右对齐而不是单元格:

columnDefs: [
         headerName: 'Column A', field: 'a' ,
         headerName: 'Column B', field: 'b', headerClass: 'ag-right-aligned-header' ,
    ]

【讨论】:

以上是关于如何在 ag-grid 中为数字右对齐文本的主要内容,如果未能解决你的问题,请参考以下文章

如何在dataTables中将数字数据右对齐

如何在 QtControls 2.0 中为 SpinBox 设置对齐方式?

如何在 ag-grid 中为 Angular 2 进行分页

如何使文本在 Android TextView 向右对齐

如何在表格单元格的中心右对齐数字?

如何右对齐 HTML 文本框中的文本?