code: private void updateBeanValueForRenderedRows() {
  		WTableRowRenderer rowRenderer = (WTableRowRenderer) repeater.getRepeatedComponent();
  		TableModel model = getTableModel();
  
  		int index = 0;
  
  		List<RowIdWrapper> wrappers = repeater.getBeanList();
  
  		int columnCount = getColumnCount();
  
  		for (RowIdWrapper wrapper : wrappers) {
  			UIContext rowContext = repeater.getRowContext(wrapper, index++);
  			List<Integer> rowIndex = wrapper.getRowIndex();
  
  			Class<? extends WComponent> expandRenderer = model.getRendererClass(rowIndex);
  			if (expandRenderer == null) {
  				// Process Columns
  				for (int col = 0; col < columnCount; col++) {
  					// Check if this cell is editable
  					if (model.isCellEditable(rowIndex, col)) {
  						updateBeanValueForColumnInRow(rowRenderer, rowContext, rowIndex, col, model);
  					}
  				}
  			} else if (model.isCellEditable(rowIndex, -1)) {
  				// Check if this expanded row is editable
  				updateBeanValueForRowRenderer(rowRenderer, rowContext, expandRenderer);
  			}
  
  		}
  	}
docs: Updates the bean using the table data model's {@link TableModel#setValueAt(Object, List, int)} method. This
  method only updates the data for the currently set row ids.