ag-grid 有一个设置可以让你禁用默认的类似 iframe 的行为(网格有自己的滚动条),而只是在主页内容中显示网格的整个高度。然后,您可以使用主页垂直滚动条向下查看网格。
记录在这里... https://www.ag-grid.com/javascript-grid-width-and-height/#autoHeight
使用此autoHeight
功能时,向下滚动时,每列顶部的标题不再粘在顶部。
当用户在使用时向下滚动时,标题是否仍然可以粘在屏幕顶部autoHeight
?
ag-grid 有一个设置可以让你禁用默认的类似 iframe 的行为(网格有自己的滚动条),而只是在主页内容中显示网格的整个高度。然后,您可以使用主页垂直滚动条向下查看网格。
记录在这里... https://www.ag-grid.com/javascript-grid-width-and-height/#autoHeight
使用此autoHeight
功能时,向下滚动时,每列顶部的标题不再粘在顶部。
当用户在使用时向下滚动时,标题是否仍然可以粘在屏幕顶部autoHeight
?
使用下面的 css,我们可以固定标题并让浏览器在 ag 网格中滚动。
CSS
.ag-theme-alpine .ag-header {
top: 0;
position: fixed;
width: auto;
display: table;
z-index: 99;
}
.ag-theme-alpine .ag-root-wrapper {
border: none!important;
}
请参阅随附的代码:Plunker
我使用 ngStyle 和 window.innerHeight 解决了这个问题:
HTML:
<div style="padding:10px 10px 0px 10px; ">
<div style="font-size: x-large; font-weight: bold;
border: 2px solid black;border-radius: 5px;
padding: 10px 10px 10px 10px; margin-bottom: 15px;
">
ag-grid domLayout autoheight work-around for scrolling
<div>
<!-- there is no scroll bar when using domLayout autoHeight -->
<!--
<ag-grid-angular style="width: 100%;"
domLayout='autoHeight'
class="ag-theme-balham"
[rowData]="rowData"
[columnDefs]="columnDefs">
</ag-grid-angular>
-->
<!-- but you can use ngStyle and window.innerHeight instead -->
<ag-grid-angular style="width: 100%;"
[ngStyle]=gridStyle
class="ag-theme-balham"
[rowData]="rowData"
[columnDefs]="columnDefs">
</ag-grid-angular>
</div>
</div>
角度:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'ag-grid domLayout autoheight work-around for scrolling ';
columnDefs = [
{headerName: 'Row', field: 'row' }
];
rowData: any[] = [];
gridStyle:any;
ngOnInit() {
// set the height dynamically to the current window height
let windowHeight:string = window.innerHeight + 'px';
this.gridStyle = {'height': windowHeight};
for (let row = 1; row <= 100; row++) {
this.rowData.push({'row': 'Row: ' + row });
}
}
}