controls/CustomGrid.py
changeset 1196 d2f4061cdff5
parent 961 069466072e9d
child 1197 eb118ed5cbe0
equal deleted inserted replaced
1195:8f8d9859e9fc 1196:d2f4061cdff5
    91             new_row = self._AddRow(new_row)
    91             new_row = self._AddRow(new_row)
    92         else:
    92         else:
    93             self.Table.InsertRow(new_row, self.DefaultValue.copy())
    93             self.Table.InsertRow(new_row, self.DefaultValue.copy())
    94             self.Table.ResetView(self)
    94             self.Table.ResetView(self)
    95         if new_row is not None:
    95         if new_row is not None:
    96             self.SetSelectedRow(new_row)
    96             self.SetSelectedCell(new_row, col)
    97 
    97 
    98     def DeleteRow(self):
    98     def DeleteRow(self):
    99         self.CloseEditControl()
    99         self.CloseEditControl()
   100         row = self.GetGridCursorRow()
   100         row = self.GetGridCursorRow()
   101         if row >= 0:
   101         if row >= 0:
   103             if getattr(self, "_DeleteRow", None) is not None:
   103             if getattr(self, "_DeleteRow", None) is not None:
   104                 self._DeleteRow(row)
   104                 self._DeleteRow(row)
   105             else:
   105             else:
   106                 self.Table.RemoveRow(row)
   106                 self.Table.RemoveRow(row)
   107                 self.Table.ResetView(self)
   107                 self.Table.ResetView(self)
   108             self.SetSelectedRow(min(row, self.Table.GetNumberRows() - 1))
   108             if self.Table.GetNumberRows() > 0:
       
   109                 self.SetSelectedCell(min(row, self.Table.GetNumberRows() - 1), col)
   109 
   110 
   110     def MoveRow(self, row, move):
   111     def MoveRow(self, row, move):
   111         self.CloseEditControl()
   112         self.CloseEditControl()
   112         col = self.GetGridCursorCol()
   113         col = self.GetGridCursorCol()
   113         if getattr(self, "_MoveRow", None) is not None:
   114         if getattr(self, "_MoveRow", None) is not None:
   115         else:
   116         else:
   116             new_row = self.Table.MoveRow(row, move)
   117             new_row = self.Table.MoveRow(row, move)
   117             if new_row != row:
   118             if new_row != row:
   118                 self.Table.ResetView(self)
   119                 self.Table.ResetView(self)
   119         if new_row != row:
   120         if new_row != row:
   120             self.SetSelectedRow(new_row)
   121             self.SetSelectedRow(new_row, col)
   121     
   122     
   122     def SetSelectedRow(self, row):
   123     def SetSelectedCell(self, row, col):
   123         col = self.GetGridCursorCol()
       
   124         self.SetGridCursor(row, col)
   124         self.SetGridCursor(row, col)
   125         self.MakeCellVisible(row, col)
   125         self.MakeCellVisible(row, col)
   126         self.RefreshButtons()
   126         self.RefreshButtons()
   127         
   127         
   128     def OnAddButton(self, event):
   128     def OnAddButton(self, event):