diff --git a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js index b404d46..6bd6195 100644 --- a/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js +++ b/web/pgadmin/browser/server_groups/servers/databases/schemas/tables/constraints/foreign_key/templates/foreign_key/js/foreign_key.js @@ -371,6 +371,11 @@ function($, _, S, pgAdmin, pgBrowser, Alertify) { titleTmpl({label: data.label}) ); + // Clean up existing grid if any (in case of re-render) + if (self.grid) { + self.grid.remove(); + } + $gridBody.append(self.generateHeader(data)); var gridSchema = _.clone(this.gridSchema); diff --git a/web/pgadmin/browser/server_groups/servers/static/js/variable.js b/web/pgadmin/browser/server_groups/servers/static/js/variable.js index 565c266..1413dbc 100644 --- a/web/pgadmin/browser/server_groups/servers/static/js/variable.js +++ b/web/pgadmin/browser/server_groups/servers/static/js/variable.js @@ -380,6 +380,11 @@ titleTmpl(data) ); + // Clean up existing grid if any (in case of re-render) + if (self.grid) { + self.grid.remove(); + } + var gridSchema = _.clone(this.gridSchema); _.each(gridSchema.columns, function(col) { diff --git a/web/pgadmin/static/js/backform.pgadmin.js b/web/pgadmin/static/js/backform.pgadmin.js index 985ed46..eadea8a 100644 --- a/web/pgadmin/static/js/backform.pgadmin.js +++ b/web/pgadmin/static/js/backform.pgadmin.js @@ -967,7 +967,8 @@ return this; }, showGridControl: function(data) { - var gridHeader = _.template([ + var self = this, + gridHeader = _.template([ '
', ' ', '
"].join("\n"); @@ -1210,9 +1216,14 @@ var subnode = data.subnode.schema ? data.subnode : data.subnode.prototype, gridSchema = Backform.generateGridColumnsFromModel( data.node_info, subnode, this.field.get('mode'), data.columns, data.schema_node - ), self = this, + ), pgBrowser = window.pgAdmin.Browser; + // Clean up existing grid if any (in case of re-render) + if (self.grid) { + self.grid.remove(); + } + // Set visibility of Add button if (data.disabled || data.canAdd == false) { $(gridBody).find("button.add").remove();