code: private void updateBeanValueForColumnInRow(final WTableRowRenderer rowRenderer,
  			final UIContext rowContext,
  			final List<Integer> rowIndex, final int col, final TableModel model) {
  		// The actual component is wrapped in a renderer wrapper, so we have to fetch it from that
  		WComponent renderer = ((Container) rowRenderer.getRenderer(col)).getChildAt(0);
  
  		UIContextHolder.pushContext(rowContext);
  
  		try {
  			// If the column is a Container then call updateBeanValue to let the column renderer and its children update
  			// the "bean" returned by getValueAt(row, col)
  			if (renderer instanceof Container) {
  				WebUtilities.updateBeanValue(renderer);
  			} else if (renderer instanceof DataBound) { // Update Databound renderer
  				Object oldValue = model.getValueAt(rowIndex, col);
  				Object newValue = ((DataBound) renderer).getData();
  				if (!Util.equals(oldValue, newValue)) {
  					model.setValueAt(newValue, rowIndex, col);
  				}
  			}
  
  		} finally {
  			UIContextHolder.popContext();
  		}
  
  	}
docs: Update the column in the row.
  
  @param rowRenderer the table row renderer
  @param rowContext the row context
  @param rowIndex the row id to update
  @param col the column to update
  @param model the table model