src/org/tiefaces/components/websheet/service/ValidationHandler.java
public void valueChangeEvent(final AjaxBehaviorEvent event) {

		try {
			FacesContext facesContext = FacesContext.getCurrentInstance();
			String tblName = parent.getWebFormClientId();
			UIComponent target = event.getComponent();
			boolean pass = validateCell(target);
			if (pass) {
				// to improve performance, re-validate current row only
				// page validation take times. will happen when change tab(page)
				// or
				// reload page.
				int[] rowcol = CellUtility.getRowColFromComponentAttributes(target);
				validateRowInCurrentPage(rowcol[0], true);
				refreshCachedCellsInCurrentPage(facesContext, tblName);
			}
		} catch (Exception ex) {
			LOG.log(Level.SEVERE, "Validation error:" + ex.getLocalizedMessage(), ex);
		}
	}
public void valueChangeEvent(final AjaxBehaviorEvent event) {

		try {
			FacesContext facesContext = FacesContext.getCurrentInstance();
			String tblName = parent.getWebFormClientId();
			UIComponent target = event.getComponent();
			boolean pass = validateCell(target);
			if (pass) {
				// to improve performance, re-validate current row only
				// page validation take times. will happen when change tab(page)
				// or
				// reload page.
				int[] rowcol = CellUtility.getRowColFromComponentAttributes(target);
				validateRowInCurrentPage(rowcol[0], true);
				refreshCachedCellsInCurrentPage(facesContext, tblName);
			}
		} catch (Exception ex) {
			LOG.log(Level.SEVERE, "Validation error:" + ex.getLocalizedMessage(), ex);
		}
	}
Triggered when value in cells changed. e.g. user edit cell.

@param event
ajax event.