Я пытаюсь напечатать сетку, но метод setDomLayout()
не распознается.Это мой HTML:
<div class="ui-g-12 ui-g-nopad print" [ngStyle]="style">
ag-grid-angular #grid id="grid-printable"
style="width: 100%; height: 100%;"
class="ag-theme-blue grid-printable"
(gridReady)="onGridReady(grid)"
[rowData]="rowData"
[gridOptions]="gridOptions">
</ag-grid-angular>
</div>
, и моя функция ts print выглядит следующим образом:
print(grid) {
// Set the A4 width
this.style = {width: '29cm',height: '100%'};
this.gridOptions.api.setDomLayout('print);
// Remove focus cursor
this.gridOptions.api.clearFocusedCell();
// Print
window.focus();
window.print();
// When the print popin closes :
this.style = {width: '100%',height: '100%'};
}
Я добавил несколько медиазапросов в мои компоненты, чтобы отображать сетку только при печати.
Это работает не так уж плохо, но я не могу использовать метод ag-grid api, чтобы установить макет в режиме печати, и я не понимаю, почему?
Здесь плункер, который я пытаюсьвоспроизвести в моем коде https://plnkr.co/edit/?p=preview. Невозможно иметь такое же поведение в моем коде.Я пробовал те же строки:
const eGridDiv = document.querySelector('.grid-printable');
eGridDiv.style.width = '';
eGridDiv.style.height = '';
this.gridApi.setDomLayout('print');
, но возникают следующие ошибки:
ERROR in
src/app/components/list/list.component.ts(190,14): error TS2339: Property 'style' does not exist on type 'Element'.
src/app/dossiers/list/list.component.ts(191,14): error TS2339: Property 'style' does not exist on type 'Element'.
, и если я комментирую строки, провоцирующие эти ошибки, у меня есть следующий javascript error this.gridApi.setDomLayout is not a function