Batch Editable Table (BDP) Recipe
Note: This demo does not use Redwood Design Patterns and is meant to show technical functionality rather than the best practices in UI design.
This recipe shows you how to implement an editable table using Buffering Data Provider with Service Data Provider where users can edit multiple existing rows or create new rows, before they submit all their changes in one transaction to the backend service. The recipe also demonstrates how to implement validation. It ensures, for example, that a change to an employee's salary remains within the minimum and maximum values for that employee's job classification.

Employees

First Name
Last Name
Job
Salary
Salary Range
Actions
Ellen Abel Sales Representative $6000 - 12000
Sundar Ande Sales Representative $6000 - 12000
Mozhe Atkinson Stock Clerk $2008 - 5000
David Austin Programmer $4000 - 10000
Hermann Baer Public Relations Representative $4500 - 10500
Shelli Baida Purchasing Clerk $2500 - 5500
Amit Banda Sales Representative $6000 - 12000
Elizabeth Bates Sales Representative $6000 - 12000
Sarah Bell Shipping Clerk $2500 - 5500
David Bernstein Sales Representative $6000 - 12000
Laura Bissot Stock Clerk $2008 - 5000
Harrison Bloom Sales Representative $6000 - 12000
Alexis Bull Shipping Clerk $2500 - 5500
Anthony Cabrio Shipping Clerk $2500 - 5500
Gerald Cambrault Sales Manager $10000 - 20000
Nanette Cambrault Sales Representative $6000 - 12000
John Chen Accountant $4200 - 9000
Kelly Chung Shipping Clerk $2500 - 5500
Karen Colmenares Purchasing Clerk $2500 - 5500
Curtis Davies Stock Clerk $2008 - 5000
Lex De Haan Administration Vice President $15000 - 30000
Julia Dellinger Shipping Clerk $2500 - 5500
Jennifer Dilly Shipping Clerk $2500 - 5500
Louise Doran Sales Representative $6000 - 12000
Bruce Ernst Programmer $4000 - 10000
Alberto Errazuriz Sales Manager $10000 - 20000
Britney Everett Shipping Clerk $2500 - 5500
Daniel Faviet Accountant $4200 - 9000
Pat Fay Marketing Representative $4000 - 9000
Kevin Feeney Shipping Clerk $2500 - 5500
Jean Fleaur Shipping Clerk $2500 - 5500
Tayler Fox Sales Representative $6000 - 12000
Adam Fripp Stock Manager $5500 - 8500
Timothy Gates Shipping Clerk $2500 - 5500
Ki Gee Stock Clerk $2008 - 5000
Girard Geoni Shipping Clerk $2500 - 5500
William Gietz Accountant $4200 - 9000
Kimberely Grant Sales Representative $6000 - 12000
Douglas Grant Shipping Clerk $2500 - 5500
Nancy Greenberg Finance Manager $8200 - 16000
Danielle Greene Sales Representative $6000 - 12000
Peter Hall Sales Representative $6000 - 12000
Michael Hartstein Marketing Manager $9000 - 15000
Shelley Higgins Accounting Manager $8200 - 16000
Guy Himuro Purchasing Clerk $2500 - 5500
Alexander Hunold Programmer $4000 - 10000
Alyssa Hutton Sales Representative $6000 - 12000
Charles Johnson Sales Representative $6000 - 12000
Vance Jones Shipping Clerk $2500 - 5500
Payam Kaufling Stock Manager $5500 - 8500
Alexander Khoo Purchasing Clerk $2500 - 5500
Steven King President $20080 - 40000
Janette King Sales Representative $6000 - 12000
Neena Kochhar Administration Vice President $15000 - 30000
Sundita Kumar Sales Representative $6000 - 12000
Renske Ladwig Stock Clerk $2008 - 5000
James Landry Stock Clerk $2008 - 5000
David Lee Sales Representative $6000 - 12000
Jack Livingston Sales Representative $6000 - 12000
Diana Lorentz Programmer $4000 - 10000
Jason Mallin Stock Clerk $2008 - 5000
Steven Markle Stock Clerk $2008 - 5000
James Marlow Stock Clerk $2008 - 5000
Mattea Marvins Sales Representative $6000 - 12000
Randall Matos Stock Clerk $2008 - 5000
Susan Mavris Human Resources Representative $4000 - 9000
Samuel McCain Shipping Clerk $2500 - 5500
Allan McEwen Sales Representative $6000 - 12000
Irene Mikkilineni Stock Clerk $2008 - 5000
Kevin Mourgos Stock Manager $5500 - 8500
Julia Nayer Stock Clerk $2008 - 5000
Donald OConnell Shipping Clerk $2500 - 5500
Christopher Olsen Sales Representative $6000 - 12000
TJ Olson Stock Clerk $2008 - 5000
Lisa Ozer Sales Representative $6000 - 12000
Karen Partners Sales Manager $10000 - 20000
Valli Pataballa Programmer $4000 - 10000
Joshua Patel Stock Clerk $2008 - 5000
Randall Perkins Shipping Clerk $2500 - 5500
Hazel Philtanker Stock Clerk $2008 - 5000
Luis Popp Accountant $4200 - 9000
Trenna Rajs Stock Clerk $2008 - 5000
Den Raphaely Purchasing Manager $8000 - 15000
Michael Rogers Stock Clerk $2008 - 5000
John Russell Sales Manager $10000 - 20000
Nandita Sarchand Shipping Clerk $2500 - 5500
Ismael Sciarra Accountant $4200 - 9000
John Seo Stock Clerk $2008 - 5000
Sarath Sewall Sales Representative $6000 - 12000
Lindsey Smith Sales Representative $6000 - 12000
William Smith Sales Representative $6000 - 12000
Stephen Stiles Stock Clerk $2008 - 5000
Martha Sullivan Shipping Clerk $2500 - 5500
Patrick Sully Sales Representative $6000 - 12000
Jonathon Taylor Sales Representative $6000 - 12000
Winston Taylor Shipping Clerk $2500 - 5500
Sigal Tobias Purchasing Clerk $2500 - 5500
Peter Tucker Sales Representative $6000 - 12000
Oliver Tuvault Sales Representative $6000 - 12000
Jose Manuel Urman Accountant $4200 - 9000
Peter Vargas Stock Clerk $2008 - 5000
Clara Vishney Sales Representative $6000 - 12000
Shanta Vollman Stock Manager $5500 - 8500
Alana Walsh Shipping Clerk $2500 - 5500
Matthew Weiss Stock Manager $5500 - 8500
Jennifer Whalen Administration Assistant $3000 - 6000
Eleni Zlotkey Sales Manager $10000 - 20000
Select Row

Recipe

Create a Table component that displays editable rows of employees. For changes to salary, you'll use a custom validator to ensure that the salary remains within a valid range. All changes are stored in a buffer until the user clicks Save, at which time a REST call posts the changes to the backend service.

Create a Table to Display Employees
Make the Table Editable
Validate User Input
Track and Save Changes
Add a Record
Delete a Record