Data Validation

From Documentation
Revision as of 01:07, 11 January 2012 by Samchuang (talk | contribs)


Available in ZK Spreadsheet EE only

Purpose

Data validation is invaluable when a workbook share with other users in a organization, to make sure the data entered in the workbook to be accurate and consistent.

Data Validation

ZKSsEss Spreadsheet DataValidation List.png

Validation message

Prompt

ZKSsEss Spreadsheet DataValidation Prompt.png

Error alert

ZKSsEss Spreadsheet DataValidation Alert Illegal.png

ZKSsEss Spreadsheet DataValidation Alert dialog.png

Click cancel button will remove editing value
ZKSsEss Spreadsheet DataValidation Prompt.png

Click retry button allow user to continue editing cell value without empty editing value
ZKSsEss Spreadsheet DataValidation Alert Illegal.png

Validation list

ZUML

<div apply="org.zkoss.zssessentials.config.ValidationComposer" width="100%" vflex="1">
	<combobox id="deparmentCombobox">
	</combobox>
	<spreadsheet id="spreadsheet" src="/WEB-INF/excel/config/validation.xlsx"
		maxrows="100" maxcolumns="20" 
		width="100%" vflex="1">
	</spreadsheet>
</div>

Composer

The composer prepare data from DataValidation, user could input a value from combobox.

	private DataValidation getDataValidation() {
		return sheet.getDataValidation(DATA_VALIDATION_ROW, DATA_VALIDATION_COL);
	}
	
	private void initCombobox() {
		DataValidation dataValidation = getDataValidation();
		DataValidationConstraint constraint = dataValidation.getValidationConstraint();
		
		switch (constraint.getValidationType()) {
		case ValidationType.LIST:
			ListModelList model = new ListModelList(constraint.getExplicitListValues());
			deparmentCombobox.setModel(model);
			break;
		}
		
		//Add illegal item
		((ListModelList) deparmentCombobox.getModel()).add("Illegal cell value");
	}
	
	public void onSelect$deparmentCombobox() {
		String cellValue = deparmentCombobox.getSelectedItem().getLabel();
		boolean validInput = spreadsheet.validate(sheet, DATA_VALIDATION_ROW, DATA_VALIDATION_COL, cellValue, null);
		if (validInput) {
			Ranges.range(sheet, DATA_VALIDATION_ROW, DATA_VALIDATION_COL).setEditText(cellValue);
		}
	}

ZKSsEss Spreadsheet DataValidation SelectValue.png

ZKSsEss Spreadsheet DataValidation InputValue.png

Select illegal value ZKSsEss Spreadsheet DataValidation SelectIllegalValue.png

Error alert ZKSsEss Spreadsheet DataValidation InputIllegalValue.png

Version History

Last Update : 2012/01/11


Version Date Content
Since 2.2.0 January, 2012 Support Data Validation
     


All source code listed in this book is at Github.


Last Update : 2012/01/11

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.