Project

General

Profile

« Previous | Next » 

Revision 33a64a73

Added by Andreas Kohlbecker about 6 years ago

fixing bug related to row management

View differences:

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