private void drawTableGrid() {

        Object[][] cellData = new Object[0][headers.length];
        tableGridModel = new DefaultTableModel(cellData, headers) {

            private static final long serialVersionUID = 880033063879582590L;

            public boolean isCellEditable(int row, int column) {
                if (column == 2 || column == 7 || column == 9) {
                    return true;
                } else return false;
            }
        };
        tableGridModel.addTableModelListener(new TableModelListener() {

            public void tableChanged(TableModelEvent e) {
                if (e.getType() == TableModelEvent.UPDATE && e.getLastRow() >= 0) {
                    String columnName = tableGrid.getValueAt(e.getLastRow(), 0).toString();
                    String value = tableGrid.getValueAt(e.getLastRow(), e.getColumn()).toString();
                    Column column = tableModel.getColumn(columnName);
                    if (column != null) {
                        if (e.getColumn() == 2) {
                            column.setJavaType(value);
                        } else if (e.getColumn() == 7) {
                            column.setNullable(Boolean.parseBoolean(value));
                        } else if (e.getColumn() == 9) {
                            column.setRemarks(value);
                        }
                    }
                }
            }
        });
        tableGrid.setModel(tableGridModel);
        tableGrid.setRowHeight(22);

        ((EditableTable) tableGrid).setComboCell(2, new ComboBoxEditor(typeMapping.getAllJavaTypes()));// 第2列为下拉

        resizeTableGrid(true);
    }