Revision 33a64a73
Added by Andreas Kohlbecker about 6 years ago
src/main/java/eu/etaxonomy/vaadin/component/ToManyRelatedEntitiesListSelect.java | ||
---|---|---|
246 | 246 |
|
247 | 247 |
private void createFieldsForData(){ |
248 | 248 |
|
249 |
|
|
250 |
// for(int r = 0; r < grid.getRows(); r++){ |
|
251 |
// grid.getComponent(GRID_X_FIELD, r); |
|
252 |
// } |
|
253 |
// grid.removeAllComponents(); |
|
254 |
// grid.setRows(1); |
|
255 |
|
|
256 | 249 |
creatingFields = true; |
257 | 250 |
List<V> data = getValue(); |
258 | 251 |
if(data == null || data.isEmpty()){ |
259 |
// addNewRow(0, null); |
|
260 | 252 |
data = Arrays.asList((V)null); |
261 | 253 |
} |
262 |
//else { |
|
263 |
for(int row = 0; row < data.size(); row++){ |
|
264 |
boolean newRowNeeded = true; |
|
265 |
if(grid.getRows() > row){ |
|
266 |
Component fieldComponent = grid.getComponent(GRID_X_FIELD, row); |
|
267 |
if(fieldComponent != null){ |
|
268 |
newRowNeeded = false; |
|
269 |
Field field = (Field)fieldComponent; |
|
270 |
if(data.get(row) != null && field.getValue() != data.get(row)){ |
|
271 |
field.setValue(data.get(row)); |
|
272 |
} |
|
254 |
for(int row = 0; row < data.size(); row++){ |
|
255 |
boolean newRowNeeded = true; |
|
256 |
if(grid.getRows() > row){ |
|
257 |
Component fieldComponent = grid.getComponent(GRID_X_FIELD, row); |
|
258 |
if(fieldComponent != null){ |
|
259 |
newRowNeeded = false; |
|
260 |
F field = (F)fieldComponent; |
|
261 |
if(data.get(row) != null && field.getValue() != data.get(row)){ |
|
262 |
field.setValue(data.get(row)); |
|
273 | 263 |
} |
274 |
|
|
275 | 264 |
} |
276 |
if(newRowNeeded){
|
|
277 |
row = addNewRow(row, data.get(row));
|
|
278 |
}
|
|
279 |
// }
|
|
265 |
}
|
|
266 |
if(newRowNeeded){
|
|
267 |
addNewRow(row, data.get(row));
|
|
268 |
} |
|
280 | 269 |
} |
281 | 270 |
creatingFields = false; |
282 | 271 |
} |
Also available in: Unified diff
fixing bug related to row management