The HTML5 Table Element and the Grid View

The last couple of years have been extremely dynamic for the web design world. HTML5 came with many new capabilities and advanced table support is one of them. Does it, though, work well enough for everyone? This is a question that gets a short answer that has ever been a right one: it depends.

As for the long answer, tons of virtual ink have been spilled around blogs, corporate sites and e-magazines to express a palette of opinions so diverse, that doing a blitz research on the subject usually leaves people even more confused than they had been before. In this article we will try to shed light on the different aspects of the problem in an objective way, pointing out some functions implemented with an advanced JavaScript UI framework, or more precisely, JavaScript UI Grid component that just aren’t supported by pure HTML5 table elements.

Content layout

UI Grid component and HTML5 table element can be used for a wide variety of applications. The most common of them these days probably is to create and organase some content in a predefined way, making it look the same for everyone, or just putting some data in a table (which we will discuss below on its own). This could totally be achieved even with HTML5 and would work just as well but without very usability and helpful functionality that support UI Grid component.

Let us take a look at the functionality that supports the Grid, but not HTML.

Sorting

As said above, displaying data in a grid arrangement is a very common scenario for grid usage. HTML5 tables are static. Data is arranged in a certain hard coded way, and even though the data itself can be dynamic and can come from a database, the arrangement is always the same. When data is displayed in a grid, it is usually dynamically generated and (regardless of the latter) in many cases it needs to be dynamically displayed as well. A good JavaScript grid function, on the other hand, may support column reordering, sorting and filtering by different column types, etc., as seen in this example: (link).
As said above, displaying data in a HTML5 table element is a very common scenario but this table is static. Data is arranged in a certain hard coded way, and even though the data itself can be dynamic and can come from a database, the arrangement is always the same. When data is displayed in a UI Grid component you can choose to sort single column or multiple column by setting the sorting.multiple property to false or true. You can change the first time sort order by setting sorting.firstAscending to true or false. You can remove the unsorting functionality of a grid by setting sorting.allowUnsort to false.

Pagination and Scrolling


This is one that can’t be achieved by HTML5 at all, at least not with good results, and surely not in an easy way. Nobody likes looking at long tables. It is not only confusing, but it also needs to load of lots of information into the browser, making for slower websites and a bad user experience. A UI Grid component that supports advanced pagination and Scrolling is a must, if one wants to display lots of data in a neat way.

Export Capabilities

There are many cases where the displayed data may be needed by the user in an offline format, where one can look at it later. Many different types of documents support tables, but the most widespread are PDF and Microsoft Excel. If used UI Grid component this is achieved by using the built-in PDF export and save functionality provided by the Shield UI library. The default PDF exporting functionality can be customized for setting up the columns, data, page margins and size, and other options.

AJAX, Offline Usage and Compatibility

JavaScript grid controls such as this can usually be implemented in an asynchronous way. This not only means that there is less traffic between client and server, but that the grid can even be used offline and sorted, reordered, filtered and tampered with in every way that is possible online.

Virtualization

This one is extremely important, because grid-bound data usually contains hundreds and thousands of entries. Virtualization support allows for the usage of a particular chunk of entries without loading the entire grid, which in turn increases stability and improves performance and user experience. UI Grid component sypport scrollablе virtual configuration option and displays a vertical scrollbar. Remote data are supported with the UI grid virtualization to.

Conclusion

Nothing suits everyone. As with everything, what’s necessary for one application may well be redundant for another, so the usage of advanced JavaScript frameworks to achieve UI Grid component functionality is entirely dependent on the user’s needs. The ShieldUI’s grid control offers the entire palette of grid functionalities that one can think of, in a ready-to-use form. The technology to make it happen is here. What’s needed next is human ingenuity, creativity and a clear notion of the goals one wants to achieve.