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