code: def update_event(self, hint, obj):
          
  
          tree = self.treeview
          data = obj
          item = self.get_item_by_data(obj)
          if item:
              if data.get_id() != tree.item(item, 'text'):
                  tree.item(item, text=data.get_id())
              # if tree.parent(item) != '' and 'layout' in data:
              if tree.parent(item) != '':
                  row = data.get_layout_property('row')
                  col = data.get_layout_property('column')
                  values = tree.item(item, 'values')
                  if (row != values[1] or col != values[2]):
                      values = (data.get_class(), row, col)
                  tree.item(item, values=values)
              self.draw_widget(item)
              self.app.set_changed()
docs: Updates tree colums when itemdata is changed.