 		{
 			// If we can't save the data, say, because the data was invalid, 
 			// then cancel the save.
-			if (!dataGrid.endItemEditorSession())
+			if (!inEndEdit && !dataGrid.endItemEditorSession())
 			{
 				dataGrid.endItemEditorSession(true);
 			}

        {
            // if the user clicks outside the cell but we can't save the data,
            // say, because the data was invalid, then cancel the save.
            if (!dataGrid.endItemEditorSession())
            {
                dataGrid.endItemEditorSession(true);
            }

        {
            // If we can't save the data, say, because the data was invalid, 
            // then cancel the save.
            if (!inEndEdit && !dataGrid.endItemEditorSession())
            {
                dataGrid.endItemEditorSession(true);
            }
