+void GridFrame::OnCellValueChanging( wxGridEvent& ev )
+{
+ int row = ev.GetRow(),
+ col = ev.GetCol();
+
+ wxLogMessage("Value of cell at (%d, %d): about to change "
+ "from \"%s\" to \"%s\"",
+ row, col,
+ grid->GetCellValue(row, col), ev.GetString());
+
+ // test how vetoing works
+ if ( ev.GetString() == "42" )
+ {
+ wxLogMessage("Vetoing the change.");
+ ev.Veto();
+ return;
+ }
+
+ ev.Skip();
+}
+