Data Validation"
From Documentation
m (→Error alert) |
m (→Composer) |
||
Line 42: | Line 42: | ||
===Composer=== | ===Composer=== | ||
− | The composer prepares required data from DataValidation, in order for users to input a value from combobox. | + | The composer prepares required data from DataValidation (in this case, the four departments - Finance, IE, Sales, R&D) , in order for users to input a value from combobox. |
<source lang="java" high="2,7,9,11,22 "> | <source lang="java" high="2,7,9,11,22 "> |
Revision as of 02:37, 11 January 2012
Available in ZK Spreadsheet EE only
Purpose
Data validation is an invaluable feature when a workbook is shared among other users in an organization to make sure that the data entered in the workbook is accurate and consistent.
Data Validation
Validation message
Prompt
Error alert
Clicking the cancel button will remove the editing value
Clicking the retry button allow users to continue editing the cell value without emptying the editing value
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 prepares required data from DataValidation (in this case, the four departments - Finance, IE, Sales, R&D) , in order for users to 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);
}
}
View complete source of ZUML validation.zul
View complete source of composer ValidationComposer.java
Version History
Version | Date | Content |
---|---|---|
Since 2.2.0 | January, 2012 | Support Data Validation |
All source code listed in this book is at Github.