Grid Renderers collection For Vaadin7
Collection of 13 Grid Renderers for editing and viewing data plus Keyboard navigation extension for editable renderers for Vaadin 8 and 7.
BrowserOpenerRenderer
A button for Grid that opens new browser window with url in Grid cell or UI given in constructor with uri fragment in Grid cell. This one supports also HTML content in caption and has click event inherited from HtmlButtonRenderer.
DeleteButtonRenderer
Two stage (Delete & Confirm) Delete action button. Delete and Confirm texts can be configured e.g. for localization. There is style name for Confirm state in order to add accent in custom theme if needed.
SimpleSelectRenderer
Select a value with popup selector from small set of values. This Renderer is like ComboBox, but much simpler. With Converter it is possible to map non String values to String. See demo.
BlobImageRenderer
Render image from byte[]. Handy if bean is read from database and image is a Blob. Do not use for large images to avoid excess overhead. Prescale images close to target resolution.
CheckboxRenderer
Single-click editor for boolean columns - Editor aware. Most suitable for unbuffered Grid(Vaadin 7.6+) Label options can be configured for localization.
BooleanSwitchRenderer
Alternative version of CheckboxRenderer similar to editable renderers.
DateFieldRenderer
Inline Dates editor
TextFieldRenderer
Multipurpose inline Text editor. Supports various types of data using com.vaadin.data.util.converter.Converter
SparklineRenderer
Tiny chart in a Grid cell with many configuration options.
RatingStarsRenderer
RatingStarsRenderer is based on Widget in RatingStars add-on by Teemu Pöntelin. You can use RatingStarsRenderer both as a view only or editable field renderer. The max number of stars can be also configured.
ConverterRenderer (Vaadin 8 only)
Did you like to use HTMLRenderer together with Converter to display e.g. conditiomally formatted numbers based on value etc. with Vaadin 7 and now miss the possibility to add Converter withoutBinder? Well use this handy helper.
HtmlButtonRenderer
Alternative to the ButtonRenderer included to Vaadin framework. This one supports also HTML content and does not propagate click event when used.
RowIndexRenderer
Add row index number column to Grid with this simple Renderer. Example: grid.addColumn(value -> "", new RowIndexRenderer()).setCaption("Row index");
GridNavigationExtension
This is not renderer, but very useful extension to be used alongside them. GridNavigationExtension makes possible to quickly navigate Grid with keyboard and input data with editable Renderers. See the demo. GridNavigation extension was originally written by Mikael Granqvist.
Note, there is another similar type of extension available also for use with Grid's unbuffered editor, which is called GridFastNavigation https://vaadin.com/directory#!addon/gridfastnavigation-add-on
Sample code
// Basic use Grid.Column yes = grid.getColumn("yes"); yes.setRenderer(new CheckboxRenderer()); // Example of using Editable renderer BooleanSwitchRenderer booleanRenderer = new BooleanSwitchRenderer("Not true","True"); booleanRenderer.addItemEditListener(new ItemEditListener() { @Override // Use itemEdited event to commit changed data to database, etc. public void itemEdited(ItemEditEvent event) { myFacade.commit(event.getItemId()); } } ); yes.setRenderer(booleanRenderer); // Example of TextFieldRenderer with Converter grid.getColumn("number").setConverter(new StringToBigDecimalConverter()); TextFieldRenderer<BigDecimal> decimalFieldRenderer = new TextFieldRenderer<BigDecimal>(); decimalFieldRenderer.addItemEditListener(new ItemEditListener() { @Override public void itemEdited(ItemEditEvent event) { ... do something here ...; } } ); grid.getColumn("number").setRenderer(decimalFieldRenderer);
// Add column with Boolean check box and event BooleanSwitchRenderer<SimplePojo> booleanRenderer = new BooleanSwitchRenderer<>(SimplePojo::setTruth,"True","False"); booleanRenderer.addItemEditListener(event -> { System.out.println("Boolean switched: "+event.getNewValue()); }); grid.addColumn(SimplePojo::isTruth, booleanRenderer).setCaption("Truth"); TextFieldRenderer<SimplePojo,String> textFieldRenderer = new TextFieldRenderer<>(SimplePojo::setDescription); textFieldRenderer.setBlurChangeMode(true); textFieldRenderer.addItemEditListener(event -> { System.out.println("Description edited: "+event.getNewValue()); }); grid.addColumn(SimplePojo::getDescription, textFieldRenderer).setCaption("Description"); TextFieldRenderer<SimplePojo,BigDecimal> decimalFieldRenderer = new TextFieldRenderer<>(SimplePojo::setNumber); decimalFieldRenderer.setConverter(new StringToBigDecimalConverter("Error message")); decimalFieldRenderer.addItemEditListener(event -> { System.out.println("Big decimal edited: "+event.getNewValue()); }); grid.addColumn(SimplePojo::getNumber, decimalFieldRenderer).setCaption("Big decimal"); DateFieldRenderer<SimplePojo> dateFieldRenderer = new DateFieldRenderer<SimplePojo>(SimplePojo::setDate); dateFieldRenderer.setBlurChangeMode(true); dateFieldRenderer.setDateResolution(DateResolution.DAY); dateFieldRenderer.addItemEditListener(event -> { System.out.println("Date edited: "+event.getNewValue()); }); grid.addColumn(SimplePojo::getDate, dateFieldRenderer).setCaption("Date"); RatingStarsRenderer<SimplePojo> ratingStarsRenderer = new RatingStarsRenderer<SimplePojo>(SimplePojo::setStars,5); ratingStarsRenderer.addItemEditListener(event -> { System.out.println("Stars edited: "+event.getNewValue()); }); grid.addColumn(SimplePojo::getStars, ratingStarsRenderer).setCaption("Rating"); MyStringToIntegerConverter myConverter = new MyStringToIntegerConverter(); SimpleSelectRenderer<SimplePojo,Integer> choiceFieldRenderer = new SimpleSelectRenderer<>(SimplePojo::setChoice, Arrays.asList(1,2,3,4,5)); choiceFieldRenderer.setConverter(myConverter); choiceFieldRenderer.addItemEditListener(event -> { System.out.println("Choice edited: "+event.getNewValue()); }); grid.addColumn(SimplePojo::getChoice, choiceFieldRenderer).setCaption("Choice");
Links
Compatibility
Was this helpful? Need more help?
Leave a comment or a question below. You can also join
the chat on Discord or
ask questions on StackOverflow.
Version
Version 2.7.0
- Rebuild not log warnings on deprecated listener use
- Fixed DateFieldRenderer, which has been broken since Vaadin 8.9.0
- Requires Vaadin 8.12.0 or newer
- Released
- 2021-03-18
- Maturity
- STABLE
- License
- Apache License 2.0
Compatibility
- Framework
- Vaadin 8.10+
- Vaadin 8.3+ in 2.6.1
- Vaadin 7.7+ in 1.2.4
- Vaadin 8.2+ in 2.4.0
- Vaadin 8.1+ in 2.2.5
- Vaadin 7.6+ in 1.2.2
- Vaadin 7.5+ in 0.91
- Browser
- Firefox
- Opera
- Safari
- Google Chrome
- iOS Browser
- Android Browser
- Internet Explorer
- Windows Phone
- Microsoft Edge
Grid Renderers collection For Vaadin7 - Vaadin Add-on Directory
Collection of 13 Grid Renderers for editing and viewing data plus Keyboard navigation extension for editable renderers for Vaadin 8 and 7.Issue Tracker
Source Code - Vaadin 7
Source Code - Vaadin 8
Online Demo
Grid Renderers collection For Vaadin7 version 0.91
null
Grid Renderers collection For Vaadin7 version 0.94
null
Grid Renderers collection For Vaadin7 version 0.95
Added BlobImageRenderer, Updated demo and JavaDocs. Added support for ItemEditEvent for EditableRenderers.
Grid Renderers collection For Vaadin7 version 0.96
### Version 0.96
* BooleanSwitchRenderer added
* CheckboxRenderer updated. Label configuration options added.
* Fixed and updated demo
* Added JavaDocs
Grid Renderers collection For Vaadin7 version 0.97
### Version 0.97
* SimpleSelectRenderer added
* Updated demo
* Added JavaDocs
Grid Renderers collection For Vaadin7 version 0.98
Version 0.98
* Fixed bug in CheckBoxRenderer when used with buffered mode
* Fixed BooleanSwitchRenderer tacticle and feel issue with IE and slow computers
* Changed RatingStarsRenderer to be editable based on Column.setEditable(), added width / height settings
Grid Renderers collection For Vaadin7 version 1.0.0
### Version 1.0.0
* Added GridNavigationExtension
* Fixed RatingStarsRenderer to work with GridNavigationExtension
* Fixed GridNavigationExtension to recognize selects
Grid Renderers collection For Vaadin7 version 1.1.0
### Version 1.1.0
* Added DeleteButtonRenderer
* Updated demo
Grid Renderers collection For Vaadin7 version 1.1.1
### Version 1.1.1
* Fixed DeleteButtonRenderer, support for HTML content mode was missing
* Updated demo
Grid Renderers collection For Vaadin7 version 1.1.2
### Version 1.1.2
* DeleteButtonRenderer, made it boolean type, so that property underneath controls whether the button is enabled or not
* Updated demo
Grid Renderers collection For Vaadin7 version 2.0.0
### Version 2.0.0
* First version for Vaadin 8, based on featureset of version 1.1.2 for Vaadin 7
* There are API changes
* Updated demo
Grid Renderers collection For Vaadin7 version 2.1.0
### Version 2.1.0
* Added ConverterRenderer
Grid Renderers collection For Vaadin7 version 2.1.1
### Version 2.1.1
* Added isReadOnly() and setReadOnly(..) to Editable Renderers.
Grid Renderers collection For Vaadin7 version 2.2.0
### Version 2.2.0
* Added blurChangeMode to TextFieldRenderer and DateFieldRenderer to tackle issue #18.
* Added eagerChangeMode to TextFieldRenderer to tackle issue #18.
* Added support for different DateResolutions to DateFieldRenderer
* Added HtmlButtonRenderer to collection
Grid Renderers collection For Vaadin7 version 1.2.0
### Version 1.2.0
* Added blurChangeMode to TextFieldRenderer and DateFieldRenderer to tackle issue #18.
* Added eagerChangeMode to TextFieldRenderer to tackle issue #18.
* Added support for different Resolution to DateFieldRenderer
* Added HtmlButtonRenderer to collection
* Corrected naming getItem -> getItemId in DeleteButtonRenderer
* Updated demo
Grid Renderers collection For Vaadin7 version 2.2.1
Version 2.2.1
* Fixing issue #22, BooleanSwitchRenderer.setReadOnly(..) did not work
* Fix, The blurChangeMode did not work properly
Grid Renderers collection For Vaadin7 version 2.2.2
### Version 2.2.2
* Fixing issue #24, SimpleSelectRenderer conversion logic was flawed since Vaadin 8 migration was halfbaked
Grid Renderers collection For Vaadin7 version 2.2.3
### Version 2.2.3
* Added RowIndexRenderer
Grid Renderers collection For Vaadin7 version 1.2.1
### Version 1.2.1
* Added RowIndexRenderer
* Fixed blurChangeMode logic (backport from Vaadin8 branch)
* Small optimization of SimpleSelectRenderer
Grid Renderers collection For Vaadin7 version 2.2.4
### Version 2.2.4
* Added support of ordinals to RowIndexRenderer
Grid Renderers collection For Vaadin7 version 2.2.5
### Version 2.2.5
* Minor change for Vaadin 8.2+ compatibility
Grid Renderers collection For Vaadin7 version 2.2.6
### Version 2.2.6
* Added setOffset to RowIndexRenderer, so that row index count can start from defined position
Grid Renderers collection For Vaadin7 version 1.2.2
### Version 1.2.2
* Added support for ordinals and setOffset method to RowIndexRenderer
Grid Renderers collection For Vaadin7 version 2.2.7
### Version 2.2.7
* Added BrowserOpenerRenderer. This is a button that opens a new browser window when clicked.
Grid Renderers collection For Vaadin7 version 2.2.8
### Version 2.2.8
* Added feature to BrowserOpenerRenderer. With alternative constructor open UI with URI fragment given in cell.
Grid Renderers collection For Vaadin7 version 2.2.9
### Version 2.2.9
* Added tooltip support to HtmlButtonRenderer and BrowserOpenerRenderer.
Grid Renderers collection For Vaadin7 version 1.2.3
### Version 1.2.3
* Added BrowserOpenerRenederer to collection, same features as in Vaadin 8 version
* Added tooltip support to HtmlButtonRenderer
* Updated demo
Grid Renderers collection For Vaadin7 version 2.2.10
### Version 2.2.10
* Fixing issue #36, BrowserOpenerRenderer url fetching was not made correctly
Grid Renderers collection For Vaadin7 version 1.2.4
### Version 1.2.4
* Fixing issue #36
Grid Renderers collection For Vaadin7 version 2.3.0
### Version 2.3.0
* Added setIsEnabledProvider(..) method to EditableRenderer and implemented it in its subclasses, See issue #46
Grid Renderers collection For Vaadin7 version 2.3.1
### Version 2.3.1
* Fixed TextFieldRenderer to have proper style when not editable
* Added more configuration options to DeleteButtonRenderer
Grid Renderers collection For Vaadin7 version 2.3.2
### Version 2.3.2
* Fixing timing issue in BooleanSwitchRenderer
Grid Renderers collection For Vaadin7 version 2.3.3
### Version 2.3.3
* Fixing bug EditableRenderers did not honor grid.setEnabled(false), see issue #53
Grid Renderers collection For Vaadin7 version 1.3.0
### Version 1.3.0
* Fixing bug EditableRenderers did not honor grid.setEnabled(false), see issue #53
* Added support for Resource in column for BrowserOpenerRenderer
Grid Renderers collection For Vaadin7 version 2.4.0
### Version 2.4.0
* Added support for Resource in column for BrowserOpenerRenderer
Grid Renderers collection For Vaadin7 version 2.6.0
### Version 2.6.0
* Removed setIsEnabledProvider(..,boolean) option as it was not working as intended
* Replaced the above with caching option setIsEnabledProvider(..,int)
Grid Renderers collection For Vaadin7 version 2.6.1
### Version 2.6.1: Added support for roman literals in RowIndexRenderer
Grid Renderers collection For Vaadin7 version 2.7.0
### Version 2.7.0
- Rebuild not log warnings on deprecated listener use
- Fixed DateFieldRenderer, which has been broken since Vaadin 8.9.0
- Requires Vaadin 8.12.0 or newer