code: private void updateBeanValueCurrentPageOnly() {
  		WDataTableRowRenderer rowRenderer = (WDataTableRowRenderer) repeater.getRepeatedComponent();
  		TableDataModel model = getDataModel();
  
  		// The bean list for the repeater is a list of Integer row indices
  		for (Integer rowBean : (List<Integer>) repeater.getBeanList()) {
  			int row = rowBean;
  			UIContext rowContext = repeater.getRowContext(rowBean, row);
  			final int columnCount = getColumnCount();
  
  			for (int col = 0; col < columnCount; col++) {
  				if (model.isCellEditable(row, col)) {
  					// 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);
  
  					if (renderer instanceof DataBound) {
  						Object oldValue = model.getValueAt(row, col);
  
  						UIContextHolder.pushContext(rowContext);
  						Object newValue = null;
  
  						try {
  							newValue = ((DataBound) renderer).getData();
  						} finally {
  							UIContextHolder.popContext();
  						}
  
  						if (!Util.equals(oldValue, newValue)) {
  							model.setValueAt(newValue, row, col);
  						}
  					}
  				}
  			}
  		}
  	}
docs: Updates the bean using the table data model's {@link TableDataModel#setValueAt(Object, int, int)} method. This
  method only updates the data for the current page.