SlideShare a Scribd company logo
Tabular Data Using Cell-based
Widgets

By
Rogelio.Flores @gmail.com
Verifi / http://verificoncrete.com
Contents
●

GWT Cell-based Widgets

●

Customization and Styling

●

Selection Models

●

Paging and Data Providers

●

Customizing Format

●

Cell-based Widgets as Editors

●

Adding Drag and Drop support

●

Composite Widgets
Cell-based Widgets
What are they?
●

Data presentation widgets composed of Cells

●

High performance, light weight

●

Rendered using innerHTML instead of DOM
manipulation

●

Use Flyweight Pattern

●

Work great for Data Binding
Tabular Data Using GWT Cell-based Widgets
Stock Cell-based Widgets
CellList
● CellTree
● CellBrowser
● CellTable
● DataGrid
● CellWidget
●
Customization and Styling
You can customize and style Cell-based
Widgets in two ways
● Using Custom Cells
– Your own HTML + CSS templates
– Can apply to columns, headers, and
footers
● Override Resources
When to use custom Cells
●

●

If using CellList/CellWidget, you probably want
to use a custom Cell or a combination of stock
Cells (think CompositeCell or
IconCellDecorator)
Whenever a stock Cell type doesn't do what
you want (in any Cell-based Widget)
Custom Cell used in a CellList
Style and content can change based
on Data
Custom Resources

Stock Cell-based Widgets come with their own
Resources (ClientBundle which includes a
CSSResource) which you can replace/override
How to Override Resources

Demo: StyledDataGrid.css and compare stock
DataGrid (Showcase) with a custom-styled one
Selection Models
Out of the box, you can specify single or multiple
selection, and use different triggers for multiple
selection
You can also extend the provided Selection
Models to create a custom one
Single Selection

What about combining selection models with
custom styles? (Demo)
Multiple Selection using
CheckBoxes
Paging and Data Providers
●

SimplePager

●

ListDataProvider

●

AsyncDataProvider

●

●

Create your own extending the above or
AbstractDataProvier
Demo
–

Simple Pager (custom style)

–

Infinite Scrolling
Custom Headers/Footers
●
●

Custom Cells
Extend
AbstractHeaderOrFooterBuilder
–

th/tr/td tags can be used

–

Access to header properties (is it sortable?, sort
direction)

–

CSS can be applied granularly (e.g. based on
properties)
Real-world Example
●

Requirements:
–
–

●

grid with many columns
each column needs long descriptive header text

Solution:
–

Slanted Headers! (to save horizontal space)
CustomHeaderBuilder to the rescue
1. Create custom Cell/Header that uses the
needed HTML structure (not always needed)
2. Add custom styles, in this case to rotate text
element(s) and add visual cues for sorting
3. Enjoy!
Custom Cell and Header
And after some CSS:

https://gist.github.com/elmentecato/7994293
Cell-based Widgets AsEditor/s
●

Implement LeafValueEditor<P>
–
–

●

You simply get/setValue(List<P>)
Not all values need to be sent/received on flush()

Implement HasDataEditor<P> plus
EditTextCell
–

Every value is editable

Demo
Drag and Drop
Cell-based widgets are so flexible that you can
add basic DnD:
See more code: https://gist.github.com/elmentecato/7994450
Composite Widgets and Beyond
Used within a Composite can add functionality or
create a more advanced widget
Demo
Questions?

Rogelio.flores+gwtcreate@gmail.com

More Related Content

Similar to Tabular Data Using GWT Cell-based Widgets (20)

PPTX
Google web toolkit web conference presenation
Stephen Erdman
 
PPTX
Smacss and bem
Joanna Franchetti
 
PDF
OpenCms Days 2014 - Responsive bootstrap templates reloaded
Alkacon Software GmbH & Co. KG
 
PPTX
Dsc Charusat Learning React Part 1
JainamMehta19
 
PPT
XSLT Formats in Website Templates in Cascade Server CMS by Jay Mercer
hannonhill
 
PPTX
Unit 2 WT-CSS.pptx web technology project
abhiramhatwar
 
PDF
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
La Drupalera
 
PDF
Performance (browser)
aquarius070287
 
PPTX
Webdev bootcamp
DSCMESCOE
 
ODP
Drupal: code complexity
Ragnar Kurm
 
PPTX
Building Rich Internet Applications with Ext JS
Mats Bryntse
 
PDF
Send beautiful - responsive! - emails
Cathy Lill
 
PPTX
dmBridge & dmMonocle
University of Nevada, Las Vegas
 
PDF
Joomla templates2011
Linda Coonen
 
PDF
GWT.create 2013: Themeing GWT Applications with the Appearance Pattern
niloc132
 
PPTX
Extjs3.4 Migration Notes
SimoAmi
 
PDF
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Suzanne Dergacheva
 
PPTX
Stupid Index Block Tricks
hannonhill
 
PDF
10 steps to becoming a panels pro
Green For All
 
ODP
Contributions: what they are and how to find them
Pedro Cambra
 
Google web toolkit web conference presenation
Stephen Erdman
 
Smacss and bem
Joanna Franchetti
 
OpenCms Days 2014 - Responsive bootstrap templates reloaded
Alkacon Software GmbH & Co. KG
 
Dsc Charusat Learning React Part 1
JainamMehta19
 
XSLT Formats in Website Templates in Cascade Server CMS by Jay Mercer
hannonhill
 
Unit 2 WT-CSS.pptx web technology project
abhiramhatwar
 
Efficiently theming a multi-site Drupal 8 portal - Drupal Dev Days Seville 2017
La Drupalera
 
Performance (browser)
aquarius070287
 
Webdev bootcamp
DSCMESCOE
 
Drupal: code complexity
Ragnar Kurm
 
Building Rich Internet Applications with Ext JS
Mats Bryntse
 
Send beautiful - responsive! - emails
Cathy Lill
 
dmBridge & dmMonocle
University of Nevada, Las Vegas
 
Joomla templates2011
Linda Coonen
 
GWT.create 2013: Themeing GWT Applications with the Appearance Pattern
niloc132
 
Extjs3.4 Migration Notes
SimoAmi
 
Minimalist Theming: How to Build a Lean, Mean Drupal 8 Theme
Suzanne Dergacheva
 
Stupid Index Block Tricks
hannonhill
 
10 steps to becoming a panels pro
Green For All
 
Contributions: what they are and how to find them
Pedro Cambra
 

Recently uploaded (20)

PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
The Future of Artificial Intelligence (AI)
Mukul
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
Ad

Tabular Data Using GWT Cell-based Widgets