首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据列数更改编辑器元素的宽度或对齐方式(Vaadin)

如何根据列数更改编辑器元素的宽度或对齐方式(Vaadin)
EN

Stack Overflow用户
提问于 2022-09-18 07:33:02
回答 1查看 53关注 0票数 0

我试图改变 width aligment of editorComponent - textField/integerField in non-buffered grid.

problem具有textfield/integerField宽度,如果大于8-9 columns.

7列:

10列:

如果存在 columns,则textFields/integerField将开始相互连接。

全程序:https://cookbook.vaadin.com/grid-with-map

主要部分是创建元素的部分:

代码语言:javascript
复制
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);

所以我试着对齐它,但它不起作用

代码语言:javascript
复制
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);

或者,如果设置元素的最大宽度,则不太有效。

代码语言:javascript
复制
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);

有什么想法,如何设置宽度或对齐自动?或者如何按列宽度设置textField/integerField的宽度?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-19 10:17:32

我认为应该简单到设置:

代码语言:javascript
复制
integerField.setWidth("100%");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73760879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档