网格表:垂直对齐:中间

时间:2018-11-29 13:54:28

标签: reactjs ag-grid

我正在使用框架ag-grid() 我将行高更改为50px。

                <div 
              className="ag-theme-balham"
              style={{ 
                height: '90vh', 
                width: '100%',
                'font-size': '18px',
                'row-height': '50px'
                }} 
                >
                <AgGridReact        
                    rowHeight={50}
                    columnDefs={columnsTaenze}
                    rowSelection={'multiple'}
                    onFirstDataRendered={this.autoSizeAll}
                    rowDragManaged={true}
                    enableColResize={true}
                    animateRows={true}
                    rowData={this.props.tabledata}
                    enableFilter={true}
                    onRowDragEnd={this.onRowDragEnd}>
                </AgGridReact>
            </div>

遗憾的是,我无法将单元格垂直居中。

我试图更改许多类,包括ag-cell。 我尝试过的CSS:

.ag-cell{
    line-height: 50px;
    height: 100%;
    vertical-align: middle;
}

但是单元格没有居中: enter image description here

3 个答案:

答案 0 :(得分:2)

您可以在下面的CSS中使用。无需在CSS中使用硬编码的值作为高度。

.ag-row .ag-cell {
  display: flex;
  justify-content: center; /* align horizontal */
  align-items: center;
}

看看这个小家伙:ag-grid: text-align vertically center

答案 1 :(得分:2)

以@Paritosh的答案为基础...

您不必自己覆盖ag-grid样式。您可以在自己的样式表中执行以下操作:

.cell-vertical-align-text-left {
  display: flex!important;
  align-items: center;
}

.cell-vertical-align-text-right {
  display: flex!important;
  flex-direction: row-reverse;
  text-align: right!important;
  align-items: center;
}

然后在ag-grid列定义中,使用cellClass属性中的自定义CSS样式。

var columnDefs = [
  {
    headerName: "Alerts",
    colId: 'invoice_issues',
    editable: false,
    cellClass: "cell-border cell-vertical-align-text-right",
    valueGetter: showInvoiceIssues,
    autoHeight: true,
  }
]

答案 2 :(得分:0)

您可以将单元格样式设置为关注

 cellStyle: {
        'height': '100%',
        'display': 'flex ',
        'justify-content': 'center',
        'align-items': 'center ',
      },

这对我有用。