我有以下问题。我将一些数据对象(此处为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);
非常欢迎任何帮助:)