import React, { Component } from 'react';
import { GridComponent, ColumnsDirective, ColumnDirective, Filter, Inject, Page, Sort, Toolbar, Selection, Search } from '@syncfusion/ej2-react-grids';
export class samp extends Component {
constructor() {
super();
this.pageSettings = {
pageSize: 25
};
this.toolbarOptions = [ { text: 'Print', tooltipText: 'Print', id: 'print', prefixIcon: 'e-print' } ];
this.selectionSettings = {
persistSelection: true
};
this.filterSettings = {
type: 'Menu'
};
}
onToolbarClick(args) {
if(args.item.id === 'print') {
let selectedRecords = this.gridInstance.getSelectedRecords();
let values = '';
// Loop through selected records and parse
window.open(`/printer/?${values}`, '_blank', 'location=yes,height=570,width=520,scrollbars=yes,status=yes');
}
}
render() {
return (
<div>
<GridComponent ref={ref => this.gridInstance = ref } dataSource={this.data} allowPaging={true} allowSorting={true} pageSettings={this.pageSettings}
toolbar={this.toolbarOptions} selectionSettings={this.selectionSettings} allowFiltering={true} filterSettings={this.filterSettings} gridLines="Both"
toolbarClick={this.onToolbarClick.bind(this)}>
<ColumnsDirective>
<ColumnDirective type='checkbox' width='30' textAlign="Center"></ColumnDirective>
<ColumnDirective field="Id" visible={false} isPrimary={true}></ColumnDirective>
<ColumnDirective headerText="Name" field="Name" width='100' template={this.imageTemplate} />
<ColumnDirective headerText="Address" field="Address" width='100' />
</ColumnsDirective>
<Inject services={[Page, Sort, Filter, Selection, Toolbar, Search]} />
</GridComponent>
</div>
)
}
}