Freeze Rows and Columns
From Documentation
Purpose
ZK Spreadsheet can freeze row or column use Spreadsheet.setRowfreeze(Integer) or Spreadsheet.setColumnfreeze(Integer).
ZUML
<zk>
<div height="100%" width="100%" apply="demo.FreezeComposer">
<div height="3px"></div>
<spreadsheet id="spreadsheet" src="/demo_sample.xls"
maxrows="200"
maxcolumns="40"
width="100%"
height="450px"></spreadsheet>
<menupopup id="cellMenu">
<menu label="Freeze Row">
<menupopup>
<menuitem id="unfreezeRows" label="Unfreeze all rows" />
<menuseparator />
<menuitem label="Freeze Row 1" forward="onFreezeRow(0)"/>
<menuitem label="Freeze Row 2" forward="onFreezeRow(1)"/>
<menuitem label="Freeze Row 3" forward="onFreezeRow(2)"/>
</menupopup>
</menu>
<menu label="Freeze Col">
<menupopup>
<menuitem id="unfreezeCols" label="Unfreeze all cols" />
<menuseparator />
<menuitem label="Freeze Col 1" forward="onFreezeCol(0)"/>
<menuitem label="Freeze Col 2" forward="onFreezeCol(1)"/>
<menuitem label="Freeze Col 3" forward="onFreezeCol(2)"/>
</menupopup>
</menu>
</menupopup>
</div>
</zk>
Composer
Open Cell Menu
Spreadsheet spreadsheet;
Menupopup cellMenu;
public void onCellRightClick$spreadsheet(CellMouseEvent event) {
cellMenu.open(event.getPageX(), event.getPageY());
}
Freeze Row / Column
public void onFreezeRow(ForwardEvent event) {
int row = Integer.parseInt((String)event.getData());
spreadsheet.setRowfreeze(row);
}
public void onFreezeCol(ForwardEvent event) {
int col = Integer.parseInt((String)event.getData());
spreadsheet.setColumnfreeze(col);
}
Unfreeze Row /Column
Menuitem unfreezeRows;
public void onClick$unfreezeRows() {
spreadsheet.setRowfreeze(-1);
}
Menuitem unfreezeCols;
public void onClick$unfreezeCols() {
spreadsheet.setColumnfreeze(-1);
}
View complete source of ZUML freeze.zul
View complete source of composer FreezeComposer.java
Version History
Version | Date | Content |
---|---|---|
All source code listed in this book is at Github.