gpt4 book ai didi

java - Vaadin 将新列添加到现有表

转载 作者:行者123 更新时间:2023-11-29 05:19:07 24 4
gpt4 key购买 nike

我在向从一个 JPAContainer 生成的表中添加新列时遇到了一些问题。问题是...如果我的字段是从 JPAContainer 插入的,我可以向现有表中添加一个新列吗?我的代码看起来像...

persons = JPAContainerFactory.make(Users.class, PERSISTENCE_UNIT);
persons.sort(new String[]{"niu"}, new boolean[]{true});
table_1.setWidth("100%");
table_1.setSelectable(true); // Hacemos que se puedan seleccionar las filas del Grid.
table_1.setMultiSelect(false);// Selección de múltiples filas del Grid.

table_1.setContainerDataSource(persons);
table_1.addContainerProperty("admin_vis", String.class, null);
for (Iterator i = table_1.getItemIds().iterator(); i.hasNext();) {
Object itemIdentifier = i.next();

Item item = table_1.getItem(itemIdentifier);
String admin = (String) item.getItemProperty("admin").getValue();
Item item1 = ((Container) table_1.getContainerProperty(String.class, "admin_vis")).addItem("row"+i);
if(admin.equals("Y")) {
Property property = item1.getItemProperty("admin_vis");
property.setValue("true");
} else {
Property property = item1.getItemProperty("admin_vis");
property.setValue("false");
}
}
table_1.setVisibleColumns(new Object[] { "niu", "nom", "mail", "admin_vis" });
table_1.setColumnHeaders(new String[] { "Niu", "Nom", "Mail", "Admin", })
table_1.setPageLength(15);
table_1.setImmediate(true);

我遇到的错误是:引起:java.lang.UnsupportedOperationException 在 com.vaadin.addon.jpacontainer.JPAContainer.addContainerProperty(JPAContainer.java:666) 在 com.vaadin.ui.AbstractSelect.addContainerProperty(AbstractSelect.java:772) 在 com.vaadin.ui.Table.addContainerProperty(Table.java:4099)

希望有人能帮助我。谢谢指教!

最佳答案

我自己回答,接下来我会找到更好的解决方案......

table_1.addGeneratedColumn("mycolumn", new ColumnGenerator() {
public Object generateCell(Table source, Object itemId, Object columnId) {
Item item = source.getItem(itemId);
String admin = (String) item.getItemProperty("admin").getValue();
return admin.equals("Y") ? "true" : "false";

}
});

使用此表单一切正常,感谢阅读。问候

关于java - Vaadin 将新列添加到现有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25486674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com