Fix DataForms with dates.

This commit is contained in:
Colin Kuskie 2010-02-23 20:59:49 -08:00
parent 100a9e652e
commit 0fb7a60917
2 changed files with 16 additions and 10 deletions

View file

@ -8,6 +8,7 @@
- fixed #11428: Dataform Date Field Problem - fixed #11428: Dataform Date Field Problem
- fixed #11409: 7.7.32 Breaks Code Editor - fixed #11409: 7.7.32 Breaks Code Editor
- fixed #11426: Logout page gets cached - fixed #11426: Logout page gets cached
- fixed #11428: Dataform Date Field Problem
7.8.12 7.8.12
- fixed #11285: Pasting HTML into Code Editor in IE - fixed #11285: Pasting HTML into Code Editor in IE

View file

@ -49,7 +49,7 @@ WebGUI.Form.DataTable
data = {}; data = {};
var columns = this.dataTable.getColumnSet().getDefinitions(); var columns = this.dataTable.getColumnSet().getDefinitions();
for ( var i = 0; i < columns.length; i++ ) { for ( var i = 0; i < columns.length; i++ ) {
data[ columns[ i ].key ] = ""; data[ columns[ i ].key ] = columns[i].formatter == "date" ? new Date : "";
} }
} }
this.dataTable.addRow( data ); this.dataTable.addRow( data );
@ -626,18 +626,11 @@ WebGUI.Form.DataTable
key : newKey, key : newKey,
formatter : format, formatter : format,
resizeable : ( col ? col.resizeable : 1 ), resizeable : ( col ? col.resizeable : 1 ),
sortable : ( col ? col.sortable : 1 ) sortable : ( col ? col.sortable : 1 ),
editor : ( format == "date" ? "date" : "textbox")
}; };
var newIndex = col ? col.getKeyIndex() : undefined; var newIndex = col ? col.getKeyIndex() : undefined;
// Set the editor
if ( format == "date" ) {
newCol.editor = "date";
}
else {
newCol.editor = "textbox";
}
this.dataTable.insertColumn( newCol, newIndex ); this.dataTable.insertColumn( newCol, newIndex );
if ( col ) { if ( col ) {
// Get a new reference so we remove the right column // Get a new reference so we remove the right column
@ -650,6 +643,18 @@ WebGUI.Form.DataTable
} }
this.dataTable.removeColumn( delCol ); this.dataTable.removeColumn( delCol );
} }
else {
//Set data in the new column to useful defaults.
var allRecords = this.dataTable.getRecordSet().getRecords();
var numRecords = allRecords.length;
for (j=0; j < numRecords; j++) {
if (format == "date") {
allRecords[j].setData(newKey, new Date);
} else {
allRecords[j].setData(newKey, '');
}
}
}
i++; i++;
} }