Currently, I'm investigating SyncFusion grid for Angular 5 and found great feature - to turn on column menu to have all controls (sort, group, filter) in one place.
But it's not enough for my needs and I'm looking for the ways to customize the list of items in column menu, e.g. I want to be able to add my items with custom actions to react on click/select user actions.
For example, I want to add an item to hide current column directly or to pin this column.
Could you please tell me if it's possible and how to implement it if it is? Or I should create a custom component for this manipulations?
Thanks in advance.
I found an example in your documentation for TypeScript
but it doesn't work.
So, I want to be able to do similar stuff with my column menu but using Angular 5. I didn't find such example in your official documentation.
| <ej-grid #grid [dataSource]='data' id="gridcomp" allowPaging='true' allowGrouping='true' allowSorting='true' showColumnMenu='true' [columnMenuItems]='menu' columnMenuClick='columnMenuClick($event)' [groupSettings]='groupOptions' allowFiltering='true' [filterSettings]='filterSettings'> <e-columns> . . . . . . </e-columns> </ej-grid> |
| @Component({ selector: 'control-content', templateUrl: 'columnmenu.html', }) export class ColumnMenuComponent implements OnInit { public data: Object[]; public menu: columnMenuItemModel, @ViewChild('grid') public grid: GridComponent; ngOnInit(): void { this.data = data.slice(0, 60); this.menu = [{text:'Clear Sorting', id:'gridclearsorting'}]; // custom column menu items . . . } columnMenuClick(e){ if(args.item.id === 'gridclearsorting'){ grid.clearSorting(); // custom column menu action } } } |
|
var grid = new ej.grids.Grid({
dataSource: window.orderDatas,
. . .
. . .
showColumnMenu: true,
columnMenuItems:['SortAscending','SortDescending','Group', 'Ungroup', {text:'Clear Sorting', id:'gridclearsorting'}],
columnMenuClick: function(args){
if(args.item.id === 'gridclearsorting'){
grid.clearSorting();
}
},
.. . .
. ..
});
grid.appendTo('#Grid');
|