Freeze Rows and Columns
From Documentation
ZK Spreadsheet can freeze row or column use Spreadsheet.setRowfreeze() and Spreadsheet.setColumnfreeze()
Scenario
User can right click cell to open popup menu and select row or column freeze
ZUML Example
<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>
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);
}
Version History
Version | Date | Content |
---|---|---|
All source code listed in this book is at Github.