如何在AG网格控件的标题中居中放置文本?

use*_*346 6 javascript css reactjs ag-grid ag-grid-react

如何在AG网格控件的标题中居中放置文本?我曾尝试在列定义中使用cellstyle和cellclass,但这没有用。谢谢

Mah*_*off 14

您可以使用此属性:

cellStyle: {textAlign: 'center'}
Run Code Online (Sandbox Code Playgroud)

  • 这不会影响标题。我尝试了“headerClass”和“headerCellClass”到目前为止没有运气.. (11认同)

Ste*_*hrs 9

我已经使用了一段时间的更完整的解决方案是创建一个列定义助手,如下所示:

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'
  }
}
Run Code Online (Sandbox Code Playgroud)

然后将以下内容添加到您的style.scss

.ag-header-cell.text-center {
  .ag-header-cell-label {
    justify-content: center;
  }
}
Run Code Online (Sandbox Code Playgroud)

最后你可以像这样轻松使用它:

.ag-header-cell.text-center {
  .ag-header-cell-label {
    justify-content: center;
  }
}
Run Code Online (Sandbox Code Playgroud)


Ale*_*ira 6

我正在使用react,我只是将以下代码段添加到了Table组件的 .css

.ag-header-cell-label {
   justify-content: center;
}
Run Code Online (Sandbox Code Playgroud)

我覆盖了通过devtools检查从中找到的.cssag-grid,发现它正在使用flexbox进行显示。

参见示例(不反应,但概念相同):https : //embed.plnkr.co/O3NI4WgHxkFiJCyacn0r/

  • 如果我想将选定标题的文本居中怎么办?有什么想法吗?如何从特定的列标题获取类? (3认同)

小智 6

如果您想在 ag-grid 中将文本向右、向左或居中对齐。然后使用这个:-

cellStyle: { textAlign: 'right' }
cellStyle: { textAlign: 'left' } 
cellStyle: { textAlign: 'center' }
Run Code Online (Sandbox Code Playgroud)

  • 这只是对齐单元格文本,但不对齐标题文本 (8认同)

Jam*_*mes 6

要使用自定义类,请添加headerClass: "text-center"到列定义和 css,如下所示:

text-center * {
    justifyContent: center
}
Run Code Online (Sandbox Code Playgroud)


Zoo*_*ooZ 5

为单元格分配一个类,如下所示:

gridOptions = {
  ...
  columnDefs: [
    ...
        { headerName: "field1", field: "field1", cellClass: "grid-cell-centered"}
    ...
  ]
}
Run Code Online (Sandbox Code Playgroud)

css文件:

.grid-cell-centered {
  text-align: center;
}
Run Code Online (Sandbox Code Playgroud)

  • 我有一种感觉,这只会使单元格的内容居中,而不是标题 (4认同)