У меня есть файл CSV, который я хочу отобразить в сетке в Vaadin.
Файл выглядит так:
CTI.csv
Facebook
Twitter
Instagram
Wiki
Пока что я попробовал это с Loop и a для Loop. Цикл for выглядит следующим образом:
Scanner sc = null;
try {
sc = new Scanner(new File("C:/development/code/HelloWorld/src/CTI.csv"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
List<CTITools> tools = null;
for (Iterator<String> s = sc; s.hasNext(); ) {
tools = Arrays.asList(new CTITools(s.next()));
}
Grid<CTITools> grid = new Grid<>();
grid.setItems(tools);
grid.addColumn(CTITools::getTool).setCaption("Tool");
layout.addComponents(grid);
setContent(layout);
Проблема теперь в том, что он показывает только последнюю запись "Wiki". Если я жестко закодирую данные следующим образом:
List<CTITools> tools;
tools = Arrays.asList(
new CTITools("DFC"),
new CTITools("AgentInfo"),
new CTITools("Customer"));
new CTITools("Wiki"));
Grid<CTITools> grid = new Grid<>();
grid.setItems(tools);
grid.addColumn(CTITools::getTool).setCaption("Tool");
Так что я делаю не так? Почему не работает Loop?