diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp index 96448743d0..6493205259 100644 --- a/src/generic/grid.cpp +++ b/src/generic/grid.cpp @@ -1125,7 +1125,7 @@ bool wxGridCellFloatEditor::IsAcceptedKey(wxKeyEvent& event) default: // additionally accept 'e' as in '1e+6' if ( (keycode < 128) && - (isdigit(keycode) || tolower(keycode) == wxT('e')) ) + (isdigit(keycode) || tolower(keycode) == 'e') ) return TRUE; } } @@ -6264,6 +6264,9 @@ void wxGrid::HighlightBlock( int topRow, int leftCol, int bottomRow, int rightCo bool wxGrid::GetModelValues() { + // Disable the editor, so it won't hide a changed value. + DisableCellEditControl(); + if ( m_table ) { // all we need to do is repaint the grid @@ -6280,6 +6283,12 @@ bool wxGrid::SetModelValues() { int row, col; + // Disable the editor, so it won't hide a changed value. + // Do we also want to save the current value of the editor first? + // I think so ... + SaveEditControlValue(); + DisableCellEditControl(); + if ( m_table ) { for ( row = 0; row < m_numRows; row++ )