Based on the answer to a previous question from another user, I was able to get the correct cell values for each row on mouse release, binding that event to the selectItem() function as described there.
def selectItem(self, event):
curItem = self.tree.focus()
enter code here`self.tree.bind('<Up>', self.selectItem)
You can bind on
<<TreeviewSelect>> instead. Binding to
<<TreeviewSelect>> will let you get the item after the selection (of the treeview) has been set. Otherwise, binding to widgets vs bindings on the widgets class can override one another.