我想用Map<String, Object>
项填充我的Vaadin网格。
那是因为我从这样的数据库中得到了我的数据(可能是它的主要问题):
List<Map<String, Object>> result = jdbcTemplate.queryForList("select * from db", new Object[]{});
现在让我说我创建我的测试列表并用一些地图填充它:
List<Map<String, Object>> items = new ArrayList<>();
items.add(map);
items.add(map2);
我知道如何使用非动态数据模型,例如:
grid.addColumn(Person::getName).setCaption("Name");
grid.addColumn(Person::getAge).setCaption("Age");
但是如何创建我的Grid列,以便它将使用我的地图键? 我现在拥有的东西:
Grid<Map<String, Object>> grid = new Grid<>();
items.get(0).keySet().forEach(key ->
grid.addColumn(c -> c.get(key)));
grid.setItems(items);
它给了我输出:
b2 / b3 / b1
期待:
a1 / a2 / a3
b1 / b2 / b3
我不知道如何在列表中的每个地图中找到我的项目。还有为什么它没有订单? 感谢每一个答案!