Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ag网格在全屏打印格式中不响应_Javascript_Html_Angular_Ag Grid_Ag Grid Angular - Fatal编程技术网

Javascript Ag网格在全屏打印格式中不响应

Javascript Ag网格在全屏打印格式中不响应,javascript,html,angular,ag-grid,ag-grid-angular,Javascript,Html,Angular,Ag Grid,Ag Grid Angular,ag grid中有一个内置函数,用于处理基于屏幕大小(主要是宽度)的响应,称为gridApi.sizeColumnsToFit(),它根据所述宽度的比例适合所有列。但是如果我们尝试打印,同样的事情不会发生 我尝试过的无效的东西: 尝试在windows.onBeforePrint函数上调用gridApi.sizeColumnsToFit() 已尝试对windows.print()使用超时,以便ag网格重新渲染 尝试使用上述两种方法执行windows.resizeTo(),但由于它不支持新浏览器,或

ag grid
中有一个内置函数,用于处理基于屏幕大小(主要是宽度)的响应,称为
gridApi.sizeColumnsToFit()
,它根据所述宽度的比例适合所有列。但是如果我们尝试打印,同样的事情不会发生

我尝试过的无效的东西:

  • 尝试在
    windows.onBeforePrint
    函数上调用
    gridApi.sizeColumnsToFit()
  • 已尝试对windows.print()使用超时,以便ag网格重新渲染
  • 尝试使用上述两种方法执行
    windows.resizeTo()
    ,但由于它不支持新浏览器,或者可能只有在使用
    windows.open()
    &打开窗口后才能使用它
  • 尝试在
    @media print
    css上设置ag网格容器的宽度,但仍然无法工作,因为它不会重新呈现表格
  • 试图在打印前使表无响应,以便我们可以根据打印宽度为列提供适当的宽度,但没有这样的函数来撤消gridApi.sizeColumnsToFit()
  • 以下是我在ag grid gitHub页面上提供的关于同一问题的片段。 链接:

    创建了一个应复制该问题的示例

    Plunker链接:

    在plunker中,转到预览侧,单击预览右上角的“在单独窗口中打开预览”按钮。然后点击打印按钮

    这里有一个预览链接,如果可以的话:

    当前行为: 所有列在打印时不可见(但在UI中可见)。如果列数较大或屏幕分辨率较大(即1080p及以上),则差异更明显

    预期行为: 正如在UI中一样,ag网格在打印中也应该是响应的,它不应该只是复制DOM中的内容&打印任何适合打印区域的内容。点击打印,要么它应该是在打印格式的响应,或者应该有一些功能,我们可以提供一些具体的宽度,所有列自己。(例如,gridApi.sizeColumnsToFit()之类的函数应该可以用于打印)

    环境:Windows 10,Visual Studio代码

    ag网格版本:^19.1.2 浏览器:Chrome、Mozilla

    语言:Angular 4+、TypeScript/JavaScript、HTML5

    如果#5(使网格“无响应”并为打印设置适当的列宽)能为您提供打印所需的内容,则 如果您想要的是columnDefs中定义的网格状态,可以通过调用
    columnApi.resetColumnState()
    来“撤消”,或者您可以在为打印模式设置列大小之前保存列大小(请参见
    columnApi.getColumnState()
    ),然后将它们设置回这些值