0

次の問題があります。いくつかのデータ オブジェクト (ここでは言語) をリストに追加してから、リストグリッドとデータソースに追加します。ローカルデータとして欲しい。問題なく並べ替えとグループ化はできますが、フィルターは何もしていません。

これが私のコードです。私には手がかりがなく、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);

どんな助けでも大歓迎です:)

4

0 に答える 0