ag网格水平滚动

Posted

技术标签:

【中文标题】ag网格水平滚动【英文标题】:ag grid horizontal scroll 【发布时间】:2017-07-06 17:23:49 【问题描述】:

我在角度应用程序中使用了 ag-grid ng。当列数超过时无法获得水平滚动条。

【问题讨论】:

【参考方案1】:

尝试在 ag-grid 中的每个 columnDefs 中输入 minWidth,这可以确保每个都有与之关联的宽度道具,因此如果溢出,下方会出现一个水平滚动条

columnDefs = [

minWidth : 100, field: 'a', headerName: 'test1',

minWidth: 120, field: 'b', headerName: 'test2',

minWidth: 80, field: 'c', headerName: 'test2'

]

【讨论】:

【参考方案2】:

如果你使用你会发现什么:

gridOptions.api.sizeColumnsToFit();

是不是有些页面需要很长时间才能显示出来。 我发现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 会产生一些工作,但宽度仍然很脏。下一个,也许下一个会有所帮助。

【讨论】:

【参考方案3】:

你可以说,

gridOptions.api.sizeColumnsToFit();

这将设置列宽,从而消除水平滚动。

【讨论】:

【参考方案4】:

确定您没有将 gridOptions 对象上的 suppressHorizo​​ntalScroll 属性设置为 true 吗?

var gridOptionsTop = 
    columnDefs: columnDefs,
    // don't show the horizontal scrollbar on the top grid
    suppressHorizontalScroll: false,
    enableSorting: true,
;

【讨论】:

【参考方案5】:

你确定是因为列数?我遇到了同样的问题,解决方案是取消每列的固定选项。

例如,如果你有这个:

headerName: "Athlete", field: "athlete", width: 150, pinned: 'left'

必须是:

headerName: "Athlete", field: "athlete", width: 150

【讨论】:

嘿,谢谢。我还使用了固定选项。根据您的建议,我取消了固定选项并且它有效。非常感谢。 我想知道如何显示固定列的滚动条?因为如果滚动到最后一行,固定列和未固定列的行不会对齐。

以上是关于ag网格水平滚动的主要内容,如果未能解决你的问题,请参考以下文章

Ag-Grid:一旦列超出容器大小,调整列宽并显示水平滚动条

如何通过调整大小功能使 ag 网格标题具有粘性和响应性

ag-grid:水平向后和向前滚动后,在自定义单元格渲染器中发现服务未定义

如何修复 extjs 网格中固定的水平滚动条?

剑道网格的水平滚动

过滤后如何在剑道 ui 网格上显示水平滚动条?