我在angular应用程序中使用了ag-grid ng。当列数超过时,没有得到水平滚动条。
ecfdbz9o1#
你确定是因为列的数量吗?我有同样的问题,解决方案是取消每列的固定选项。例如,如果你有这个:
{headerName: "Athlete", field: "athlete", width: 150, pinned: 'left'}
必须是:
{headerName: "Athlete", field: "athlete", width: 150}
pieyvz9o2#
你可以说
gridOptions.api.sizeColumnsToFit();
这将设置列的宽度,从而删除水平滚动。
hgqdbh6s3#
你确定没有把 gridOptions 对象的 suppressHorizontalScroll 属性设置为true吗?
var gridOptionsTop = { columnDefs: columnDefs, // don't show the horizontal scrollbar on the top grid suppressHorizontalScroll: false, enableSorting: true, };
7eumitmz4#
尝试在ag-grid中的每个columnDefs中放入minWidth,这可以确保每个columnDefs都有一个与之关联的宽度属性,因此如果它溢出,下面会出现一个水平滚动条
minWidth
columnDefs = [ {minWidth : 100, field: 'a', headerName: 'test1'}, {minWidth: 120, field: 'b', headerName: 'test2'}, {minWidth: 80, field: 'c', headerName: 'test2'} ]
mhd8tkvw5#
在我的应用程序中,我们使用ag-grid,我们有3列固定(左)。我的问题是,我可以看到水平滚动条,但当你向右滚动时,滚动会停止两个或三个列短。你可以使用鼠标滚轮或轨迹板继续滚动到最后,看到所有列。
**解决方案:**Chrome/Brave
.ag-horizontal-left-spacer { visibility: hidden; }
**解决方案:**Safari
.ag-horizontal-left-spacer { visibility: hidden; } .ag-body-horizontal-scroll-viewport { overflow-x: auto; }
r8xiu3jd6#
如果您使用以下工具,您可能会发现:
有些页面需要很长时间才能显示出来。我发现API上有一个标志来显示宽度是否脏。因此我实现了一个检查方法:
refreshTable() { if (this.gridColumnApi.columnController && this.gridColumnApi.columnController.bodyWidthDirty) { this.gridApi.sizeColumnsToFit(); if (this.refreshAttempts) { this.refreshAttempts--; setTimeout(() => { this.refreshTable(); }, 100); } } else { this.refreshAttempts = 0; } }
我把它放在一个带有初始化器的服务类中,刷新尝试也被传递到这个类中。我建议循环两次,你可能也想玩一下超时延迟,因为你可能不希望有这么大的延迟。在一些更复杂的网格上出现这种情况的原因是,一次 Shuffle 会产生一些工作,但宽度仍然是脏的,下一次 Shuffle 可能会有所帮助。
6条答案
按热度按时间ecfdbz9o1#
你确定是因为列的数量吗?我有同样的问题,解决方案是取消每列的固定选项。
例如,如果你有这个:
必须是:
pieyvz9o2#
你可以说
这将设置列的宽度,从而删除水平滚动。
hgqdbh6s3#
你确定没有把 gridOptions 对象的 suppressHorizontalScroll 属性设置为true吗?
7eumitmz4#
尝试在ag-grid中的每个columnDefs中放入
minWidth
,这可以确保每个columnDefs都有一个与之关联的宽度属性,因此如果它溢出,下面会出现一个水平滚动条mhd8tkvw5#
在我的应用程序中,我们使用ag-grid,我们有3列固定(左)。我的问题是,我可以看到水平滚动条,但当你向右滚动时,滚动会停止两个或三个列短。你可以使用鼠标滚轮或轨迹板继续滚动到最后,看到所有列。
**解决方案:**Chrome/Brave
**解决方案:**Safari
r8xiu3jd6#
如果您使用以下工具,您可能会发现:
有些页面需要很长时间才能显示出来。我发现API上有一个标志来显示宽度是否脏。因此我实现了一个检查方法:
我把它放在一个带有初始化器的服务类中,刷新尝试也被传递到这个类中。我建议循环两次,你可能也想玩一下超时延迟,因为你可能不希望有这么大的延迟。
在一些更复杂的网格上出现这种情况的原因是,一次 Shuffle 会产生一些工作,但宽度仍然是脏的,下一次 Shuffle 可能会有所帮助。