次の問題があります。いくつかのデータ オブジェクト (ここでは言語) をリストに追加してから、リストグリッドとデータソースに追加します。ローカルデータとして欲しい。問題なく並べ替えとグループ化はできますが、フィルターは何もしていません。
これが私のコードです。私には手がかりがなく、DataSource と ListGrid には非常に多くのオプションがあるため、単なる組み合わせ推測のようです。
List<Language> languageCodes= new ArrayList<Language>();
final ListGrid countryGrid = new ListGrid();
countryGrid.setWidth(500);
countryGrid.setHeight(300);
countryGrid.setShowFilterEditor(true);
countryGrid.setFilterOnKeypress(true);
languageCodes.add(new Language("Russian","ru", "[^a-zA-ZÀ-ÖØ-öø-ȳЀ-ӹ-]", true));
languageCodes.add(new Language("Italian", "it","[^a-zA-ZÀ-ÖØ-öø-ȳЀ-ӹ-]", false));
languageCodes.add(new Language("English", "en", "[^a-zA-ZÀ-ÖØ-öø-ȳЀ-ӹ-]", true));
languageCodes.add(new Language("German", "de", "[^a-zA-ZÀ-ÖØ-öø-ȳЀ-ӹ-]", false));
languageCodes.add(new Language("French", "fr", "[^a-zA-ZÀ-ÖØ-öø-ȳЀ-ӹ-]", true));
languageCodes.add(new Language("Greek", "el", "[^a-zA-ZÀ-ÖØ-öø-ȳЀ-ӹ-]", true));
RecordList records= new RecordList();
for(int i=0; i< languageCodes.size(); i++) {
records.add(languageToRecord(languageCodes.get(i)));
}
DataSource ds= new DataSource();
ds.setTestData(records.toArray());
ds.setClientOnly(true);
countryGrid.setDataSource(ds);
countryGrid.setData(records);
countryGrid.setDataFetchMode(FetchMode.LOCAL);
countryGrid.setAutoFetchData(true);
countryGrid.setAutoFetchTextMatchStyle(TextMatchStyle.SUBSTRING);
ListGridField codeField= new ListGridField("code","Language Code", 50);
codeField.setCanFilter(true);
codeField.setCanEdit(true);
ListGridField nameField= new ListGridField("name","Language Name", 60);
nameField.setCanFilter(true);
nameField.setCanEdit(true);
どんな助けでも大歓迎です:)