diff --git a/src/sql/parts/grid/views/editData/editData.component.html b/src/sql/parts/grid/views/editData/editData.component.html index 04f23e1980..38df6df546 100644 --- a/src/sql/parts/grid/views/editData/editData.component.html +++ b/src/sql/parts/grid/views/editData/editData.component.html @@ -23,7 +23,7 @@ (onContextMenu)="openContextMenu($event, dataSet.batchId, dataSet.resultId, i)" [isCellEditValid]="onIsCellEditValid" [overrideCellFn]="overrideCellFn" - enableEditing="true" + [enableEditing]="true" class="boxCol content vertBox slickgrid"> diff --git a/src/sql/parts/grid/views/editData/editData.component.ts b/src/sql/parts/grid/views/editData/editData.component.ts index 7098e10038..ae1fc8d3f4 100644 --- a/src/sql/parts/grid/views/editData/editData.component.ts +++ b/src/sql/parts/grid/views/editData/editData.component.ts @@ -187,10 +187,23 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On let dataWithSchema = {}; // skip the first column since its a number column for (let i = 1; i < this.dataSet.columnDefinitions.length; i++) { - dataWithSchema[this.dataSet.columnDefinitions[i].field] = r.cells[i - 1].displayValue; + dataWithSchema[this.dataSet.columnDefinitions[i].field] = { + displayValue: r.cells[i - 1].displayValue, + ariaLabel: escape(r.cells[i - 1].displayValue), + isNull: r.cells[i - 1].isNull + }; } return dataWithSchema; }); + + // should add null row? + if (offset + count > this.dataSet.totalRows - 1) { + gridData.push(this.dataSet.columnDefinitions.reduce((p, c) => { + p[c.field] = 'NULL'; + return p; + }, {})); + } + // let rowIndex = offset; // let gridData: IGridDataRow[] = result.subset.map(row => { // self.idMapping[rowIndex] = row.id; @@ -202,9 +215,6 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On // }; // }); - // Append a NULL row to the end of gridData - // let newLastRow = gridData.length === 0 ? 0 : (gridData[gridData.length - 1].row + 1); - // gridData.push({ values: self.dataSet.columnDefinitions.map(cell => { return { displayValue: 'NULL', isNull: false }; }), row: newLastRow }); resolve(gridData); }); }); @@ -367,17 +377,11 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On index => { return {}; } ), columnDefinitions: [rowNumberColumn.getColumnDefinition()].concat(resultSet.columnInfo.map((c, i) => { - let isLinked = c.isXml || c.isJson; - let linkType = c.isXml ? 'xml' : 'json'; - return { id: i.toString(), - name: c.columnName === 'Microsoft SQL Server 2005 XML Showplan' - ? 'XML Showplan' - : escape(c.columnName), + name: escape(c.columnName), field: i.toString(), - formatter: isLinked ? Services.hyperLinkFormatter : Services.textFormatter, - asyncPostRender: isLinked ? self.linkHandler(linkType) : undefined, + formatter: Services.textFormatter, isEditable: c.isUpdatable }; })) @@ -533,7 +537,7 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On self.windowSize, self.dataSet.totalRows, self.loadDataFunction, - index => { return { values: [] }; } + index => { return {}; } ); // Refresh grid @@ -555,7 +559,7 @@ export class EditDataComponent extends GridParentComponent implements OnInit, On this.windowSize, this.dataSet.totalRows, this.loadDataFunction, - index => { return { values: [] }; } + index => { return {}; } ); // refresh results view