我需要在对话框中放置一个网格,但是网格很小。
Grid<FermetureGagnanteTexte> fermetureGagnanteTexteGrid = new Grid<>(FermetureGagnanteTexte.class,false);
verticalLayout.add(fermetureGagnanteTexteGrid);
dialog.add(verticalLayout);`
dialog.open();
对话框中的网格很小。
答案 0 :(得分:1)
这是使用Vaadin 8
组件的Window
解决方案。
根据对问题的描述,我假设您未使用setWidth
,setHeight
或setSizefull
设置任何大小属性。甚至我的代码示例都是特定于Vaadin 8的,它也应适用于Vaadin-Flow的对话框组件。
import com.vaadin.server.VaadinRequest;
import com.vaadin.spring.annotation.SpringUI;
import com.vaadin.ui.Grid;
import com.vaadin.ui.UI;
import com.vaadin.ui.Window;
@SpringUI
public class TestUI extends UI {
@Override
protected void init(final VaadinRequest request) {
showGridInWindow();
}
private void showGridInWindow() {
final Window window = new Window("Window Caption");
final Grid<Object> grid = new Grid<>();
grid.addColumn(Object::toString).setCaption("Column 1");
grid.setSizeFull();
final List<Object> items = new ArrayList<>();
for (int i = 0; i < 50; i++) {
items.add(new String("String #" + i));
}
grid.setItems(items);
window.setContent(grid);
window.setWidth("600px");
window.setHeight("400px");
window.setModal(true);
window.setClosable(true);
getUI().addWindow(window);
}
}
答案 1 :(得分:0)
如果使用Vaadin Flow,请将网格放入Div()而不是VerticalLayout中。将Div添加到对话框并设置对话框的大小。网格应填充该空间并滚动。
Grid<FermetureGagnanteTexte> grid = new Grid<>(FermetureGagnanteTexte.class);
Dialog dialog = new Dialog();
Div div = new Div();
div.add(grid);
dialog.add(div);
dialog.setWidth("600px");
dialog.open();
S。