Sheet Event

From Documentation



These events are related to sheet operation such as creating, selecting, deleting, and renaming a sheet.

  • onSheetCreate
    This event is fired when a user creates a new sheet. When a corresponding event listener is invoked, a SheetEvent object is passed as an argument.
  • onSheetSelect
    This event is fired when a user clicks on sheet bar to select a sheet. When a corresponding event listener is invoked, a SheetSelectEvent object is passed as an argument.
  • onSheetNameChange
    This event is fired after a user has renamed a sheet. When a corresponding event listener is invoked, a SheetEvent object is passed as an argument.
  • onSheetOrderChange
    This event is fired after a user change the order of a sheet. When a corresponding event listener is invoked, a SheetEvent object is passed as an argument.
  • onSheetDelete
    This event is fired when a user deletes a sheet. When a corresponding event listener is invoked, a SheetDeleteEvent object is passed as an argument.


Event Monitor Example

Below is a Event Monitor application's screenshot about sheet operations. You can see from the right hand side panel that we create a "sheet3", select it, move it, rename it to "essentials", and delete it finally.

Zss-essentials-events-sheet.png


public class EventsComposer extends SelectorComposer<Component>{
	//omitted codes...

	@Listen("onSheetCreate = spreadsheet")
	public void onSheetCreate(SheetEvent event){
		StringBuilder info = new StringBuilder();
		info.append("Create sheet : ").append(event.getSheetName());
		
		//show info...
	}
	
	@Listen("onSheetSelect = spreadsheet")
	public void onSheetSelect(SheetSelectEvent event){
		StringBuilder info = new StringBuilder();
		info.append("Select sheet : ").append(event.getSheetName());
		
		//show info...
	}
	
	@Listen("onSheetNameChange = spreadsheet")
	public void onSheetNameChange(SheetEvent event){
		StringBuilder info = new StringBuilder();
		info.append("Rename sheet to ").append(event.getSheetName());
		
		
		//show info...
	}
	
	@Listen("onSheetOrderChange = spreadsheet")
	public void onSheetOrderChange(SheetEvent event){
		StringBuilder info = new StringBuilder();
		Sheet sheet = event.getSheet();
		info.append("Reorder sheet : ").append(event.getSheetName())
		.append(" to ").append(sheet.getBook().getSheetIndex(sheet));
		
		if(isShowEventInfo(event.getName())){
			addInfo(info.toString());
		}
	}
	
	@Listen("onSheetDelete = spreadsheet")
	public void onSheetDelete(SheetDeleteEvent event){
		StringBuilder info = new StringBuilder();
		info.append("Delete sheet : ").append(event.getSheetName());
		
		//show info...
	}
	
}
  • Line 4, 12, 20, 29, 41: Apply @Listen to listen an event with the syntax [EVENT NAME] = [COMPONENT SELECTOR]. All event name can be found in Events. The "spreadsheet" is the component selector which means all Spreadsheet on the ZUL page. (SelectorComposer supports various selector syntax that let you select components easily. Please refer to ZK Developer's Reference/MVC/Controller/Wire Components) .