code: def remove_col_label(self, event=None, col=None):
          
          if event:
              col = event.GetCol()
          if not col:
              return
          label = self.grid.GetColLabelValue(col)
          if '**' in label:
              label = label.strip('**')
          elif '^^' in label:
              label = label.strip('^^')
          if label in self.reqd_headers:
              pw.simple_warning("That header is required, and cannot be removed")
              return False
          else:
              print('That header is not required:', label)
              # remove column from wxPython grid
              self.grid.remove_col(col)
              # remove column from DataFrame if present
              if self.grid_type in self.contribution.tables:
                  if label in self.contribution.tables[self.grid_type].df.columns:
                      del self.contribution.tables[self.grid_type].df[label]
          # causes resize on each column header delete
          # can leave this out if we want.....
          self.main_sizer.Fit(self)
docs: check to see if column is required
          if it is not, delete it from grid