Filter Data in a Range"
m |
m |
||
Line 9: | Line 9: | ||
===Purpose=== | ===Purpose=== | ||
Filtered data display rows that meet provided criteria, and hide those trivial ones. | Filtered data display rows that meet provided criteria, and hide those trivial ones. | ||
− | |||
− | |||
===AutoFilter=== | ===AutoFilter=== | ||
Use <javadoc directory="zss" method="autoFilter()">org.zkoss.zss.model.Range</javadoc> to toggle AutoFilter for sheet in a range. After applied AutoFilter, user can specify criteria by calling <javadoc directory="zss" method="autoFilter(java.lang.integer, java.lang.object, java.lang.integer, java.lang.object, java.lang.boolean)">org.zkoss.zss.model.Range</javadoc> to filter data in a range. | Use <javadoc directory="zss" method="autoFilter()">org.zkoss.zss.model.Range</javadoc> to toggle AutoFilter for sheet in a range. After applied AutoFilter, user can specify criteria by calling <javadoc directory="zss" method="autoFilter(java.lang.integer, java.lang.object, java.lang.integer, java.lang.object, java.lang.boolean)">org.zkoss.zss.model.Range</javadoc> to filter data in a range. | ||
+ | |||
+ | AutoFilter<br/> | ||
+ | [[File:ZKSsEss_Spreadsheet_FilterData_AutoFilter.png]]<br/> | ||
+ | AutoFilter with Criteria<br/> | ||
+ | [[File:ZKSsEss_Spreadsheet_FilterData_AutoFilter_WithCriteria.png]]<br/> | ||
===Reapply filter=== | ===Reapply filter=== |
Revision as of 06:34, 24 May 2011
Available in ZK Spreadsheet EE only
ZK Spreadsheet can filter data to find a subset of data in a range.
Purpose
Filtered data display rows that meet provided criteria, and hide those trivial ones.
AutoFilter
Use Range.autoFilter() to toggle AutoFilter for sheet in a range. After applied AutoFilter, user can specify criteria by calling Range.autoFilter(integer, object, integer, object, boolean) to filter data in a range.
AutoFilter
AutoFilter with Criteria
Reapply filter
If contents within AutoFilter range has been added, modified or deleted, reapply the current filter can force the sheet to update the result per the current filter criteria. Use Range.applyFilter() to reapply current filter.
Clear filter
Use Range.showAllData() to clear current filter.
ZUML
<zk>
<div height="100%" width="100%" apply="org.zkoss.zssessentials.config.AutoFilterComposer">
Criteria: hide "222"
<div>
<button id="autoFilter" label="Toggle AutoFilter" mold="trendy"></button>
<button id="reapplyAutoFilter" label="Reapply AutoFilter" mold="trendy"></button>
<button id="clearAutoFilter" label="Clear AutoFilter" mold="trendy"></button>
</div>
<spreadsheet id="spreadsheet" src="/WEB-INF/excel/config/autoFilter.xlsx"
maxrows="200"
maxcolumns="40"
width="100%"
height="450px"></spreadsheet>
</div>
</zk>
Composer
Toggle AutoFilter
Spreadsheet spreadsheet;
int rowIndex;
int columnIndex;
public void onClick$autoFilter() {
AutoFilter autoFilter = Ranges.range(spreadsheet.getSelectedSheet(), rowIndex, columnIndex).autoFilter();
alert(autoFilter == null ? "Clear AutoFilter" : "Applied AutoFilter");
}
File:ZKSsEss Spreadsheet FilterData WithFilter.png
File:ZKSsEss Spreadsheet FilterData WithoutFilter.png
Reapply AutoFilter
public void onClick$reapplyAutoFilter() {
Ranges.range(spreadsheet.getSelectedSheet()).applyFilter();
}
Edit Cell A4 222 and reapply AutoFilter
Clear AutoFilter
public void onClick$clearAutoFilter() {
Ranges.range(spreadsheet.getSelectedSheet()).showAllData();
}
View complete source of ZUML autoFill.zul
View complete source of composer AutoFilterComposer.java
Version History
Version | Date | Content |
---|---|---|
2.1.0 | May, 2011 | AutoFilter |
All source code listed in this book is at Github.