code: def set_column_count(self, count):
          
          current_row_count = self.row_count()
          current_column_count = self.column_count()
          if count > current_column_count:
              cl = TableEditableItem if self._editable else TableItem
              for r_key in self.children.keys():
                  row = self.children[r_key]
                  for i in range(current_column_count, count):
                      row.append(cl(), str(i))
                      if self._editable:
                          row.children[str(i)].onchange.connect(
                              self.on_item_changed, int(r_key), int(i))
              self._update_first_row()
          elif count < current_column_count:
              for row in self.children.values():
                  for i in range(count, current_column_count):
                      row.remove_child(row.children[str(i)])
          self._column_count = count
docs: Sets the table column count.
  
          Args:
              count (int): column of rows