Изображение: изменения таблицы
Итак ... Я новичок в веб-разработке на vaadin и java, и у меня возникают проблемы с тем, как сделать это изменение, легкодобавьте новый столбец к компоненту таблицы, но мне нужно сделать это динамическим, чтобы при нажатии кнопки, такой как изображение (знак 6), добавлялся новый столбец с данными выпадающего списка, а также показывалась еще одна кнопка для продолжения добавления дополнительного списка....
Возможно ли это сделать с помощью компонента таблицы и как это можно сделать, или это проще сделать с помощью компонента сетки.
Компонент сетки дает мне этоinfo https://vaadin.com/docs/v7/framework/components/components-grid.html, которая показывает мне всю функциональность, но это все еще традиционный стиль таблицы.
Сейчас я загружаю данные так:
for(int i=0; i<dataSourcesIdsToAdd.size(); i++)
{
Object[] rptKeyColMapItemValues = new Object[4];
//Loading field types
ComboBox cbxDataSource = new ComboBox("");
cbxDataSource.setStyleName("tiny");
cbxDataSource.setRequired(true);
cbxDataSource.setRequiredError("This field is required.");
cbxDataSource.setHeight(20, Unit.PIXELS);
cbxDataSource.setWidth(100, Unit.PERCENTAGE);
cbxDataSource.addItem(dataSourcesIdsToAdd.get(i));
cbxDataSource.setItemCaption(dataSourcesIdsToAdd.get(i), dataSourcesNamesToAdd.get(i));
cbxDataSource.setValue(dataSourcesIdsToAdd.get(i));
cbxDataSource.setReadOnly(true);
rptKeyColMapItemValues[0] = cbxDataSource;
CheckBox chxMandatory = new CheckBox();
chxMandatory.setStyleName("tiny");
chxMandatory.setVisible(true);
chxMandatory.setHeight(20, Unit.PIXELS);
rptKeyColMapItemValues[1] = chxMandatory;
ComboBox cbxDataSourceField = new ComboBox("");
cbxDataSourceField.setStyleName("tiny");
cbxDataSourceField.setRequired(true);
cbxDataSourceField.setRequiredError("This field is required.");
cbxDataSourceField.setHeight(20, Unit.PIXELS);
cbxDataSourceField.setWidth(100, Unit.PERCENTAGE);
rptKeyColMapItemValues[2] = cbxDataSourceField;
Button btnNewColumn = new Button(FontAwesome.PLUS_CIRCLE);
btnNewColumn.setHeight(20, Unit.PIXELS);
rptKeyColMapItemValues[3] = btnNewColumn;
tblKeyColumnMapping.addItem(rptKeyColMapItemValues, dataSourcesIdsToAdd.get(i));
}