2017-11-26 10 views
0

私は最近、私がアルファベット順にテーブル内の各レコードをソートすることができますツリービューのソート解決策を見つけたが、私は1-20でロードID、ソートしようとすると、それはソートしないIDをソートしません1-20に戻る。私のコードとスクリーンショットを以下に示します。コードは、他のすべての列を適切にソートします。TTKツリービューは、数値的に

def treeview_sort_column(tv, col, reverse): 
l = [(tv.set(k, col), k) for k in tv.get_children('')] 
l.sort(reverse=reverse) 

# rearrange items in sorted positions 
for index, (val, k) in enumerate(l): 
    tv.move(k, '', index) 

# reverse sort next time 
tv.heading(col, command=lambda: 
      treeview_sort_column(tv, col, not reverse)) 
for col in tv['columns']: 
tv.heading(col, text=col, command=lambda _col=col: 
      treeview_sort_column(tv, _col, False)) 

これは私のコードではないため、なぜ私は助けが必要なのですか?スクリーンショットに

リンク:https://imgur.com/a/EVq2d

EDIT:https://imgur.com/a/KYJM0

おかげで、 ジョシュ:リンクは、完全なコードを表示します。正しい答えをお探しの方に

+0

あなたは数字ではなく、数字と文字列の「1」持っていることを確認している - 「20」?表中の – furas

+0

値はsqlite3のクエリから来ていない、そしてそれは、ソートあなたの代わりに数字の文字列を持って好きな整数が、変更なし:( –

+0

にそれが明示的に保存されている変数を変更するコードの1行があります。 – furas

答えて

関連する問題