現在、値のリストを行として持つエンティティを取得できるDataGridを作成しようとしています。リスト内の各値は、DataGridの独自の列にあります。エンティティの値のリストは異なるサイズを持つ可能性があるため、DataGridには可変数の列があります。私は、DataGridを作成し、各列をDataGridに追加するプロセスをループすると、列を追加するのにかかる時間が直線的に増加しないことに気付きました。ここですばやく多くの列をGWT DataGridに追加する方法
は、私はこれが約48秒、1秒を与えるか、または取る、私はそれを実行したすべての時間を要した列に
DataGrid<String> table = new DataGrid<String>();
table.setPageSize(25);
int NUM_COLUMNS = 40;
for (int i = 0; i < NUM_COLUMNS; i++) {
GWT.log("Adding column "+i);
TextColumn<String> nameColumn = new TextColumn<String>() {
public String getValue(String object) {
return object;
}
};
table.addColumn(nameColumn, "Column " + i);
table.setColumnWidth(nameColumn, 100, Unit.PX);
}
ArrayList<String> data = new ArrayList<String>();
for (int i = 0; i < 10; i++) {
data.add("row "+i);
}
table.setRowCount(data.size(), true);
table.setRowData(0, data);
table.setWidth("100");
を追加する速さをテストするために使用したコードです。 10列未満の読み込みはかなり速かったようですが、列数が増えるにつれて、読み込みに要した時間が急激に増加しました。
データグリッドに列を追加する方法はありますか?前もって感謝します。
これは私が恐れていたものです。列は必要であり、ほとんどの時間は15未満であるが、数は数十を有する。上記のようにDataGridの行データを最後に設定するので、列を扱う創造的な方法を見つけようとする必要があります。とにかくありがとうございます。うまくいけば、他の誰かがアイデアを持っているかもしれませ – user1076377