データにPyGTKTreeView(リストとして)を使用しています。リストを調べて、オンデマンドでより多くのデータをロードする方法はありますか?
例:
200000レコードのデータベーステーブルがあります。アプリケーションの開始時に、テーブルから200レコードをロードします。スクロールしたら、treeViewにさらにデータをダウンロードします。
データにPyGTKTreeView(リストとして)を使用しています。リストを調べて、オンデマンドでより多くのデータをロードする方法はありますか?
例:
200000レコードのデータベーステーブルがあります。アプリケーションの開始時に、テーブルから200レコードをロードします。スクロールしたら、treeViewにさらにデータをダウンロードします。
次のことができると思います:
モデルに空の行を追加してください。GtkListStoreを使用する必要があると思います
ツリービュー セル レンダラーの場合、データ関数を定義します。
データ関数で、現在のモデル行がロードされているかどうかを確認し、ロードされていない場合は SQL からロードします。ここでキャッシュを使用して、一度に複数の行をロードできると思います。
以下は、データ関数の設定方法の例です。
cell = gtk.CellRendererText()
column = gtk.TreeViewColumn('column0', cell, text=0)
column.set_cell_data_func(cell, self.load_data)
self.list.append_column(column)
....
def load_data(self, column, cell, model, iter):
# load data for the given model row
print 'load data ' + model.get_value(iter, 0)
これが役に立てば幸いです、よろしく