One of the biggest challenges in responsive web design (RWD) is presenting tabular data. Large tables with lots of columns don’t fit on smaller screens and there isn’t a simple way to re-format the table content with CSS and media queries for an acceptable presentation. To address this, the framework offers two different options for presenting tables responsively. Each has benefits and tradeoffs, the right choice will depend on the data being presented.

Reflow mode – Re-formats the table columns at narrow widths so each row of data is presented as a formatted block of label/data pairs. This is ideal for tables with product or contact information with more complex or lengthy data formatting that doesn’t need comparison across rows of data.

Column toggle mode – Selectively hides columns at narrower widths as a sensible default but also offers a menu to let users manually control which columns they want to see. This mode is better for financial data tables that have compact values and need to maintain comparisons across columns and rows of data. It can also be used for building things like product comparison tables.

The responsive table feature is built with a core table plugin (table.js) that initializes when the data-role=”table” attribute is added to the markup. This plugin is very lightweight and adds ui-table class, parses the table headers and generates information on the columns of data, and fires a tablecreate event. Both the table modes, reflow and column toggle, are written as extensions to the table widget that hook in via the create event to add the additional behaviors that make the tables responsive. Reflow is the default mode so if the extension is present, it will be applied automatically if the data-role=”table” attribute is on the table.

If only one mode is used on a project, the download builder tool can be used to package only the table plugin and the single extension to save code weight.



Binds value for attributes to the object. All valid attributes can be binded.

Format from Application Class:

id="demo" width="100px"


Binds value for styles to the object. All valid styles can be binded.

Format from Application Class:

width: 100px; length: 200px


If the binded value for this field contains a value, the object will not be rendered from the server to the client. The disable function will also disable all child objects.

External Reference