So, I just started on Syncfusion and it's annoying. I have <ejs-grid>
with columnMenuOptions and Filter in the header in a angular project. When I try to create UI for the Filter menu, I am doing as follows:
Code
public filter: IFilter = {
ui: {
create: (args: {
target: Element;column: Column
}) => {
const flValInput: HTMLElement = createElement("input", {
className: "flm-input",
});
args.target.appendChild(flValInput);
});
read: //read
write: //write
}
}
<ejs-grid [columnMenuItems]="columnMenuItems" [allowFiltering]="true">
<e-columns>
<e-column field="Id" headerText='OrderNo' [filter]="filter">
</e-column>
</e-columns>
</ejs-grid>
My Issue
So, from what I understood is that the Filter menu created using ui
is appending to the table column. So, my issue here is as my filter menu is a sub-menu of filter as in the image. But, the sub menu is appended to the table column. This makes the UI break. Since, the UI element created is appended to the table column its alignment is respective to the table header and not the filter menu.
My issue with UI
What I need
I want the created element to be respective to the Filter menu and not the table column. Any idea how to fix this. I want to append the element to another element instead of the column.