首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >网格的Vaadin8错误-无法设置酸度

网格的Vaadin8错误-无法设置酸度
EN

Stack Overflow用户
提问于 2018-12-29 07:26:50
回答 1查看 28关注 0票数 0

我可能有一个Vaadin8网格的错误-它根本不显示任何数据,也不输出任何错误。当我通过setData在其中输入List<>时,它不会显示任何数据

下面是UI:@Theme("mytheme")公共类MyUI扩展UI的代码{

代码语言:javascript
复制
private BankeriClient bankeriClient = new BankeriClient();

@Override
protected void init(VaadinRequest vaadinRequest) {
    final VerticalLayout layout = new VerticalLayout();
    final HorizontalLayout buttonLayout = new HorizontalLayout();

    final TextField nameField = new TextField();
    final TextField surnameField = new TextField();
    final DateField dateField = new DateField();
    final TextField addressField = new TextField();
    final TextField dollarsField = new TextField();    

    Response response = bankeriClient.findAll_JSON(Response.class);
    List<Bankeri> listBankeri = response.readEntity(new GenericType<List<Bankeri>>() {});
    Grid<Bankeri> grid = new Grid<>(Bankeri.class);
    grid.addColumn(Bankeri::getJmeno).setCaption("First name").setEditorComponent(
            nameField,
            Bankeri::setJmeno
    );
    grid.addColumn(Bankeri::getPrijmeni).setCaption("Surname").setEditorComponent(
            surnameField,
            Bankeri::setPrijmeni
    );
    grid.addColumn(Bankeri::getLocalDatum_narozeni).setCaption("Date of birth").setEditorComponent(
            dateField,
            Bankeri::setLocalDatum_narozeni
    );
    grid.addColumn(Bankeri::getAdresa).setCaption("Address").setEditorComponent(
            addressField,
            Bankeri::setAdresa
    );
    grid.addColumn(Bankeri::getStringPenize).setCaption("Dollars").setEditorComponent(
            dollarsField,
            Bankeri::setStringPenize
    );
    grid.setData(listBankeri);
    grid.getEditor().setEnabled(true);
    grid.getEditor().setSaveCaption("Save");
    grid.getEditor().setCancelCaption("Cancel");

    final Button addBanker = new Button();
    addBanker.setCaption("Přidej bankéře");
    addBanker.addClickListener(e -> {
        Bankeri toAdd = new Bankeri();
        listBankeri.add(toAdd);
        grid.getDataProvider().refreshAll();
    });

    final Button saveBanker = new Button();
    saveBanker.setCaption("Ulož data bankéřů");
    saveBanker.addClickListener(e -> {
        for(Bankeri banker : listBankeri) {
            bankeriClient.create_JSON(banker);
        }
    });

    buttonLayout.addComponents(addBanker, saveBanker);
    layout.addComponents(grid, buttonLayout);

    setContent(layout);
}

@WebServlet(urlPatterns = "/*", name = "MyUIServlet", asyncSupported = true)
@VaadinServletConfiguration(ui = MyUI.class, productionMode = false)
public static class MyUIServlet extends VaadinServlet {
}
}

至于我试图显示的对象:它是我正在使用的实体类: GlassFish 4.1.0,netbeans。非常感谢你的帮助!

关于问候,Jan

EN

回答 1

Stack Overflow用户

发布于 2018-12-29 07:37:30

解决了!正确的答案是setItems而不是setData!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53965376

复制
相关文章

相似问题

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