过滤不适用于本地listgrid

时间:2013-10-09 21:51:46

标签: smartgwt listgrid

我有以下问题。我将一些数据对象(此处为Language)添加到列表中,然后添加到listgrid和datasource。我希望它作为本地数据。 我可以排序和分组没有任何问题,但过滤器没有做任何事情。

这是我的代码。我没有任何线索,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);

非常欢迎任何帮助:)

0 个答案:

没有答案