我该如何让 AG-grid 控件中的标题文本居中显示?我尝试在列定义中使用 cellstyle 和 cellclass,但没有起作用。谢谢。
我该如何让 AG-grid 控件中的标题文本居中显示?我尝试在列定义中使用 cellstyle 和 cellclass,但没有起作用。谢谢。
我正在使用React,并且刚刚将以下片段添加到我的表格组件的.css
中。
.ag-header-cell-label {
justify-content: center;
}
我正在覆盖通过开发者工具检查发现的ag-grid
中使用flexbox显示的.css
类类。
请参见示例(不是React,但概念相同):https://embed.plnkr.co/O3NI4WgHxkFiJCyacn0r/
您可以使用此属性:
cellStyle: {textAlign: 'center'}
headerClass
和 headerCellClass
,但都没有成功。 - Sonic Soul我现在使用已经有一段时间的更完整的解决方案是,创建像这样的列定义帮助器:
export const columnCentered = {
headerClass: 'text-center',
cellStyle: {
textAlign: 'center',
// Add the following if you are using .ag-header-cell-menu-button
// and column borders are set to none.
// marginLeft: '-16px'
}
}
然后将以下内容添加到您的 style.scss
中:
.ag-header-cell.text-center {
.ag-header-cell-label {
justify-content: center;
}
}
最后,您可以轻松地像这样使用它:
columnDefs: [
{ field: 'normalCol' },
{ field: 'centeredColA' ...columnCentered },
{ field: 'centeredColB' ...columnCentered }
]
headerClass: "text-center"
添加到列定义中,并按以下方式添加 CSS:text-center * {
justifyContent: center
}
给单元格分配一个类,如下所示:
gridOptions = {
...
columnDefs: [
...
{ headerName: "field1", field: "field1", cellClass: "grid-cell-centered"}
...
]
}
CSS文件:
.grid-cell-centered {
text-align: center;
}
cellStyle: { textAlign: 'right' }
cellStyle: { textAlign: 'left' }
cellStyle: { textAlign: 'center' }
我的CSS:
/*HEADER STYLE*/
.ag-theme-alpine .ag-header-cell {
padding-left: 10px;
padding-right: 10px;
}
.ag-right-header .ag-header-cell-label {
flex-direction: row-reverse;
}
.ag-center-header .ag-header-cell-label {
justify-content: center;
}
.ag-left-header .ag-header-cell-label {
flex-direction: row;
}
.ag-center-cell {
text-align: center;
}
.ag-right-cell {
text-align: right;
}
.ag-left-cell {
text-align: left;
}
并在columnDefs中使用:
{
headerName: 'header_name',
field: 'header_field',
headerClass: "ag-center-header",
cellClass: "ag-center-cell"
}
如果您想要对每个标题进行(独立)自定义,您可以创建一个自定义标题组件:https://www.ag-grid.com/javascript-grid-header-rendering/
“Original Answer”翻译成中文是“最初的回答”。
我正在使用Angular 8,AG-Grid嵌套在其他组件中。
为了使其正常工作,我必须这样做。
.ag-header-group-cell-label {
justify-content: center !important;
}
同时,这严格需要在 styles.scss
文件中编写,而不是组件的scss文件。否则,它将无法工作。
希望这能帮助到某些人。
::ng-deep .ag-header-group-cell-label {
justify-content: center !important;
}
::ng-deep .ag-header-cell-label {
justify-content: center !important;
}
谢谢