Table Oriented Software
Software is typically introduced at a stage where manual processing of data is no longer feasible either because of the complexity of the operations required, but more often due to the size of the datasets involved.
Many of these data sets can be represented by one or more tables. This has led to the success of table oriented Commercial of the Shelf packages like Excel, Dbase and many other database packages, and a number of business analytics packages.
Matlab and Tables
Traditionally, Matlab has always been a Matrix oriented language. Matlab did not contain a table datatype or object with associated methods until version R2013b. However, anyone who uses Matlab as a basis for real life applications, will find him- or herself writing their own set of table oriented functions sooner or later. Likewise, Modelit has written a proprietary and yet unpublished table toolbox.
Presenting Tables in a Matlab User Interface
Part of the Modelit Table Toolbox is a ui component known as the jacontrol table object. This object allows a Matlab programmer to include tables in a user interface with a single line of code. By including a jacontrol table object, users experience the Excel look and feel. In addition users have access to a number of very powerful functions, such as:
- Sorting; The ability to sort the rows of a table based on one or more criteria;
- Drop down filter; The ability to limit the visibility of rows to those that equal certain values or satisfy given condition (including wild card conditions);
- Open and save filters; The ability to save a set of conditions and to import the set at a later stage.
- Export to CSV and Excel; The ability to copy and paste to and from Excel.
- Styling; The ability to color the background and foreground of the individual table cells.
- Custom renderers and editors; The ability to show and edit booleans as editboxes, edit table cells with dropdown menus, choose colors with a colorpicker, format Matlab datenum as dates, display icons, control the display of floating point numbers.