Table Grid Editor (TGE) stores all the grid data in a separate database table which it creates and manages itself. TGE automatically creates the table in the datasource specified in your grid configuration and all the grid data is stored there. Lets look at an example
gd.columns=isummary,istatus gd.tablename=simple_columns gd.ds=myds col.isummary=Summary col.isummary.name=summary col.isummary.type=string col.istatus=Status col.istatus.type=list col.istatus.list.size=2 col.istatus.name1=Open col.istatus.value1=O col.istatus.name2=Done col.istatus.value2=D col.istatus.width=60 col.istatus.defaultValue=O datasource.names=myds ds.myds.connection.type=mysql ds.myds.connection.url=jdbc:mysql://localhost:3306/igrid_test?useUnicode=true&characterEncoding=UTF8&jdbcCompliantTruncation=false ds.myds.connection.username=igrid_tester ds.myds.connection.password=igrid_tester
The TGE 'knows' that the grid datasource to use in this case is 'myds', so it connects to the myds which is a mysql database. Where exactly the TGE stores its' data for a given grid is defined by the gd.tablename property in the grid configuration. The table name in the database will not be exactly the same as specified in the configuration, but it will start with it. For example, if your gd.tablename is
gd.tablename=simple_columns
then the real table will be simple_columns_c12200 where 12200 is the id of the context (the numbers will vary). Knowing the name of the table from the gd.tablename grid configuration property allows you to easily find the table with the actual grid data in the database.
In addition to the columns defined in the grid configuration, you will see that this table also contains columns
- 'modified' (TGE uses it for internal purposes)
- 'issueId'. Data for same grid is stored in one table for all the issues where grid is used, so there is the issueId column. Knowing that, one can easily find the data for the given grid in the given issue.