Filter Event"
m (→Criteria List) |
|||
Line 16: | Line 16: | ||
'''AutoFilter'''<br/> | '''AutoFilter'''<br/> | ||
The <javadoc directory="zss" directory="zss">org.zkoss.poi.ss.usermodel.AutoFilter</javadoc> represents auto filter for specified worksheet. Use <javadoc directory="zss" method="getRangeAddress()">org.zkoss.poi.ss.usermodel.AutoFilter</javadoc> to get auto filter range. | The <javadoc directory="zss" directory="zss">org.zkoss.poi.ss.usermodel.AutoFilter</javadoc> represents auto filter for specified worksheet. Use <javadoc directory="zss" method="getRangeAddress()">org.zkoss.poi.ss.usermodel.AutoFilter</javadoc> to get auto filter range. | ||
− | <br/>'''FilterColumn'''<br/> | + | <br/> |
+ | '''FilterColumn'''<br/> | ||
The <javadoc directory="zss" directory="zss">org.zkoss.poi.ss.usermodel.FilterColumn</javadoc> represents filtered column. Use <javadoc directory="zss" method="getCriteria1()">org.zkoss.poi.ss.usermodel.FilterColumn</javadoc> to get current criteria. If the criteria set is empty, means select all. | The <javadoc directory="zss" directory="zss">org.zkoss.poi.ss.usermodel.FilterColumn</javadoc> represents filtered column. Use <javadoc directory="zss" method="getCriteria1()">org.zkoss.poi.ss.usermodel.FilterColumn</javadoc> to get current criteria. If the criteria set is empty, means select all. | ||
+ | '''Blank Criteria'''<br/> | ||
+ | Use <javadoc directory="zss" method="isBlankCell(org.zkoss.poi.ss.usermodel.Cell)">org.zkoss.zss.model.impl.BookHelper</javadoc> to test whether cell is blank or not. The blank criteria string is '''='''. | ||
<source lang="java" high="3,9, 11, 12"> | <source lang="java" high="3,9, 11, 12"> | ||
Line 39: | Line 42: | ||
[[File:ZKSsEss_Spreadsheet_FilterEvent_CriteriaList.png]]<br/> | [[File:ZKSsEss_Spreadsheet_FilterEvent_CriteriaList.png]]<br/> | ||
+ | |||
===Filter Criteria=== | ===Filter Criteria=== | ||
Use <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> | Use <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> |
Revision as of 02:58, 24 May 2011
Available in ZK Spreadsheet EE only
Purpose
ZK Spreadsheet can filter data to find a subset of data in a range. Filtered data display rows that meet criteria, and hide trivial data.
Filter Event
The FilterMouseEvent event is fired when user click cell filter button.
Criteria List
AutoFilter
The AutoFilter represents auto filter for specified worksheet. Use AutoFilter.getRangeAddress() to get auto filter range.
FilterColumn
The FilterColumn represents filtered column. Use FilterColumn.getCriteria1() to get current criteria. If the criteria set is empty, means select all.
Blank Criteria
Use BookHelper.isBlankCell(Cell) to test whether cell is blank or not. The blank criteria string is =.
public void onFilter$spreadsheet(FilterMouseEvent event) {
final Worksheet worksheet = event.getSheet();
final AutoFilter autoFilter = worksheet.getAutoFilter();
if (autoFilter == null)
return;
int columnIndex = event.getColumn();
fieldOffset = event.getField();
final CellRangeAddress cellRangeAddr = autoFilter.getRangeAddress();
final FilterColumn filterColumn = autoFilter.getFilterColumn(fieldOffset - 1);
final Set criteria1 = filterColumn == null ? null : filterColumn.getCriteria1();
for (int r = cellRangeAddr.getFirstRow() + 1; r <= cellRangeAddr.getLastRow(); r++) {
//search criteria
....
}
...
Filter Criteria
Use Range.autoFilter(Integer, Object, Integer, Object, Boolean)
ZUML
<zk>
<window title="ZSS Filter Events" border="normal" width="100%"
height="100%" apply="org.zkoss.zssessentials.events.FilterEventComposer">
<hlayout>
<listbox id="criteriaListbox" checkmark="true" multiple="true" width="200px" height="800px"></listbox>
<spreadsheet id="spreadsheet" width="800px" height="800px" maxrows="200"
maxcolumns="20" src="/WEB-INF/excel/events/filter.xlsx">
</spreadsheet>
</hlayout>
</window>
</zk>
Composer
Version History
Version | Date | Content |
---|---|---|
2.1.0 | May, 2011 | AutoFilter |
All source code listed in this book is at Github.