Ag grid 有没有办法在ag网格中将detailRowHeight道具设置为100%?

Ag grid 有没有办法在ag网格中将detailRowHeight道具设置为100%?,ag-grid,ag-grid-angular,Ag Grid,Ag Grid Angular,最近开始在一个主细节结构角度ag网格上工作。该结构有两个主细节嵌套级别。我需要固定内-2网格的高度,以便它们占据屏幕上所有可用的不动产。目前,ag grid默认为300像素,1920x1200屏幕分辨率监视器上显示大量空白或未使用的空间。我还需要所有网格的固定标题 任何想法或建议都将不胜感激 更新:这里指的是ag网格中plunker示例的分叉版本-这是主细节网格的简单而基本的设置 注意:我没有设置任何细节行高度,只设置了一条记录显示在网格中以测试问题 如果运行plunker代码并在单独的窗口中查

最近开始在一个主细节结构角度ag网格上工作。该结构有两个主细节嵌套级别。我需要固定内-2网格的高度,以便它们占据屏幕上所有可用的不动产。目前,ag grid默认为300像素,1920x1200屏幕分辨率监视器上显示大量空白或未使用的空间。我还需要所有网格的固定标题

任何想法或建议都将不胜感激

更新:这里指的是ag网格中plunker示例的分叉版本-这是主细节网格的简单而基本的设置

注意:我没有设置任何细节行高度,只设置了一条记录显示在网格中以测试问题

如果运行plunker代码并在单独的窗口中查看结果,请注意内部/子网格并没有占用其下方的所有可用空间。换句话说,它不会占用父容器(主容器的详细信息行)中可用的空间/高度。默认的300px master detailRowHeight为内部网格设置固定高度。此外,从文档中可以看出,detailRowHeight道具似乎并没有采用类似于100%或100vh的方式,只采用固定像素数。添加了下面示例的图片和我提到的高度/未使用的空间


我们有不同的分辨率,用户用来查看网格中的数据,内部网格的高度需要自动调整,占用最大可用空间来显示网格中的大部分信息。

所以我没有很好的,完整的解决方案,但作为一个起点,我会使用CSS覆盖样式ag网格设置-我不认为detailRowHeight会有帮助

下面是我在index.html中添加的一些简单CSS,让我的建议接近你想要的。你可以用!重写ag网格样式很重要,或者可以在ag网格完成后使用javascript设置CSS。我更喜欢!在这种情况下很重要,不必担心时机。


我不想讨论的问题是让它根据所选行、滚动位置等动态填充可用空间。我想不出任何简单的方法来实现这一点-我经常在网格中做这类事情,最后编写javascript来计算可用空间,然后在javascript中设置CSS。

所以我没有一个很好的完整解决方案,但作为一个起点,我会使用CSS覆盖样式ag网格的设置-我不认为detailRowHeight会有帮助

下面是我在index.html中添加的一些简单CSS,让我的建议接近你想要的。你可以用!重写ag网格样式很重要,或者可以在ag网格完成后使用javascript设置CSS。我更喜欢!在这种情况下很重要,不必担心时机。


我不想讨论的问题是让它根据所选行、滚动位置等动态填充可用空间。我想不出任何简单的方法来实现这一点-我经常在网格中做这类事情,最后编写javascript来计算可用空间,然后在javascript中设置CSS。

您可以尝试以下内容,我从文档中提取了它:

在component.ts文件中添加此方法。如果是详细信息行,则将应用与其他行不同的计算

  public rowHeight(params) {
        if (params.node && params.node.detail) {
            var offset = 80;
            var allDetailRowHeight = params.data.callRecords.length * 28;
            return allDetailRowHeight + offset;
        } else {
            // otherwise return fixed master row height
            return 25;
        }
    };
在模板中添加以下内容:
[getRowHeight]=“rowHeight”


您可以尝试类似的方法,我从文档中提取了它:

在component.ts文件中添加此方法。如果是详细信息行,则将应用与其他行不同的计算

  public rowHeight(params) {
        if (params.node && params.node.detail) {
            var offset = 80;
            var allDetailRowHeight = params.data.callRecords.length * 28;
            return allDetailRowHeight + offset;
        } else {
            // otherwise return fixed master row height
            return 25;
        }
    };
在模板中添加以下内容:
[getRowHeight]=“rowHeight”


可能不会在这件事上引起注意-不要发布规则。您需要提供代码和更具体的问题。你扔掉了一些只描述的东西,没有代码-我一直在ag grid工作,可能可以帮助你,但没有这个小信息…谢谢你的检查。我已经添加了更多的细节和基本的代码示例,希望这能有所帮助。可能不会在这个问题上引起注意-不要发布规则。您需要提供代码和更具体的问题。你扔掉了一些只描述的东西,没有代码-我一直在ag grid工作,可能可以帮助你,但没有这个小信息…谢谢你的检查。我已经添加了一些详细信息和基本代码示例,希望对您有所帮助。谢谢您的回复。我确实在css中做了一些修改,比如-
:host>>div[ref=“olewidthcontainer”]{height:100%!important;}:host>>div[row id^=“detail”]{height:98.5%!important;}
这适用于一行,但当您有多行/记录要显示时,它会变得非常混乱。您可以在plunker中更改数据&注意扩展的行,然后在单独的窗口中更改。网格混乱,标题不显示:(是的,这就是我所说的选定行、滚动位置等。-除了在元素上使用DOM选择器和clientHeight来计算代码中的可用空间之外,我没有任何方法来处理它-并根据我的示例或您一直使用的选择器适当地设置CSS。高度:calc(100%-40px)我认为它比98.5%更有效,我只是用calc()完全去掉了填充。谢谢你的回答。我确实使用了css进行了修复,比如-
:host>>div[ref=“OvelWidthContainer”]{height:100%!important;}:host>>div[row id^=“detail”]{height:98.5%!important;}
这适用于一行,但当您有多行/记录显示它时