Extension:InlineTable

What can this extension do?
InlineTable is a DHTML widget of table that can be edited via Javascript(Ajax). The table has the following six main features or purposes:

  Define database table, we can use this extension to define a database table, and then store the data in to database. At the moment, it only supports MySQL.   Define template, we can define a template in a page and then use this template in anywhere.   Editable, the cell's content in table can be edited. Each column can have the special type of data (string, int, double, date or boolean) and special widget (label, text, textarea, checkbox, select(combox)). Depending on its data type and widget, the editor for cell can do the simple vary, for example string, integer number and date column will show textbox for editing, and boolen column will show checkbox.   Navigatable, because of the first feature, it does not make sense if the table is not navigatable which means that the active cell can be changed into another cell by pressing arrow key on keyboard or by clicking mouse on another cell. The active cell is the cell in which we can edit its content. When the cell is edited, we cannot move the active cell into another one. The editing state must be ended first, if wanting to move the active cell.   Submittable, its very special feature. Submittable means the table's content can be submitted to the web server via usual web HTTP protocol. You can understand easily that the table contains elements of FORM. Why must be submittable? Cause most cases, we want the user submits what he/she filled in table. For example, the user fills purchased goods list that contains goods code, quantity etc. The kind of that list is usually visualized by a table, one column contains goods code, another one contains quantity etc. Each row, of course, represents different goods. This function support PHP,JSP and so on. And submit action use AJAX to post the request, so we don't need to refresh the page.   User permission control, if user has not permission to edit the current page, then the InlineTable also be disabled directly.  

Usage
For more information, please visit Document & Examples page.

Create Database Table
Use the following code to define a database table(This is a full features example for InlineTable):

Create Template
Use the following code to define a template base on a database table:

Use Template
Use the following code to use template and edit table data:

Table and Template Maintenance
Use code  to manage the objects user created.

Installation
To install this extension, unzip the extension to $IP/extensions folder(It should be like this: $IP/extensions/InlineTable). And then add the following to LocalSettings.php: