I am trying to change the width or aligment of editorComponent - textField/integerField in non-buffered grid.
The problem is with textfield/integerField width, if there are more than 8 - 9 columns.
7 columns:
10 columns:
If there are more columns, the textFields/integerField starts to connect to each other
Full program: https://cookbook.vaadin.com/grid-with-map
The main part, where the elements are created:
IntegerField integerField = new IntegerField();
binder.forField(integerField).bind(map -> map.get("col" + index),
(map, value) -> map.put("col" + index, value));
grid.addColumn(map -> map.get("col" + index))
.setEditorComponent(integerField).setHeader("Col " + index);
So I tried to align it, but it doesn't works
IntegerField integerField = new IntegerField();
integerField.getElement().getStyle().set("margin-left", "auto");
integerField.getElement().getStyle().set("margin-right", "auto");
binder.forField(integerField).bind(map -> map.get("col" + index),
(map, value) -> map.put("col" + index, value));
grid.addColumn(map -> map.get("col" + index))
.setEditorComponent(integerField).setHeader("Col " + index);
Or if I set the max width of element, it doesn't works too
IntegerField integerField = new IntegerField();
integerField.setMaxWidth("20");
binder.forField(integerField).bind(map -> map.get("col" + index),
(map, value) -> map.put("col" + index, value));
grid.addColumn(map -> map.get("col" + index))
.setEditorComponent(integerField).setHeader("Col " + index);
Any ideas how to set the width or alignment automatically ? Or how to set the width of textField/integerField by column width ?

