首页 > 解决方案 > 如何在对话框中添加网格

问题描述

我需要在对话框中放置一个网格,但网格非常小。

Grid<FermetureGagnanteTexte> fermetureGagnanteTexteGrid = new Grid<>(FermetureGagnanteTexte.class,false);
verticalLayout.add(fermetureGagnanteTexteGrid);
dialog.add(verticalLayout);`
dialog.open();

对话框中的网格非常小。

标签: vaadinvaadin-gridvaadin-flow

解决方案


这是Vaadin 8使用Window组件的解决方案。

setWidth根据您的问题的描述,我假设您没有使用setHeight或设置任何大小属性setSizefull。即使我的代码示例是特定于 Vaadin 8 的,它也应该适用于 Vaadin-Flow 的 Dialog-component。

在此处输入图像描述

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);
    }
}

推荐阅读