CellTableまたはを使用することを強くお勧めしDataGridます。ListDataProviderこれらを使用して、フィルタリング用のすべてのロジックを配置できる を関連付けることができます。
より複雑なフィルタリングが必要な場合は、またはカスタムDataListProviderに渡す場所の独自の実装を作成する必要があります。行をフィルタリングするときはいつでも、テーブルから作成して呼び出す必要があります。StringFilter
filter(String filterExpression)
public class MyListDataProvider<T> extends DataListProvider<T>{
public void filter(String filterExpression){
// Here you filter your local list containing the data use
List<T> list = getList();
...
// Refresh all of the objects associated to this ListDataProvider
refresh();
}
}
List<T>フィルタリングなしですべてのアイテムを含むエクストラを保持できるため、 「フィルタリングを解除」したり、フィルター式を変更したりするときに、フィルターで除外されたアイテムにアクセスできます。
を使用すると、各行とセルを個別に処理する必要があるFlexTableため、この方法は を使用するよりもはるかに効率的です。FlexTable操作が多すぎます。