Java smart gwt如何筛选纯客户端树状网格

Java smart gwt如何筛选纯客户端树状网格,java,gwt,smartgwt,Java,Gwt,Smartgwt,你好,我有一个简单的客户端数据源,我需要添加外部过滤器。 我正在使用smartgwt 3.0和gwt 2.5 首先是我的数据源设置: DataSourceTextField nameField = new DataSourceTextField("Name", "Name"); nameField.setCanFilter(true); nameField.setRequired(true); setClientOnly(true); 我的TreeGrid已经设置了过滤: setDataSou

你好,我有一个简单的客户端数据源,我需要添加外部过滤器。 我正在使用smartgwt 3.0和gwt 2.5

首先是我的数据源设置:

DataSourceTextField nameField = new DataSourceTextField("Name", "Name");
nameField.setCanFilter(true);
nameField.setRequired(true);
setClientOnly(true);
我的TreeGrid已经设置了过滤:

setDataSource(dataSource, nameField);
setAutoFetchData(true);

setDataFetchMode(FetchMode.LOCAL);
setLoadDataOnDemand(false);
setAllowExternalFilters(true);
setAllowFilterExpressions(true);
setAutoFetchAsFilter(true);
setKeepParentsOnFilter(true);
接下来,我得到了一个字段,我在其中输入了过滤器名称并构建了AdvancedCriteria:

AdvancedCriteria criteria = new AdvancedCriteria(new Criterion("Name",
OperatorId.CONTAINS, filterTxtItem.getValueAsString()));
如果我单击按钮过滤器,我会将该条件发送到该TreeGrid并调用方法:

filterData(event.getFilterCriteria());
所以我认为一切都很好,但我的浏览器出现了奇怪的错误:

(UnknownFileName:-1) 2013-04-27 13:38:33,644 [FATAL] Uncaught JavaScript exception [TypeError: _9.isMultiDSTree is not a function] in http://127.0.0.1:8080/resources/js/sc/modules/ISC_DataBinding.js, line 1543

那么,我的配置有什么问题,或者我的设置有什么问题

您应该发布最小但完整的编译代码您的代码示例中存在多个问题,例如无法将nameField传递给setDataSource,setClientOnly是什么,外部筛选器的含义是什么,为什么使用系统范围的setAllowExternalFilters,何时出现错误(在应用程序加载/btn单击时),什么类型的事件具有getFilterCriteria等,例如无法将字段传递给数据源请参阅JavaDoc public void setDataSource(数据源数据源、ListGridField…字段)。设置客户端只意味着我不使用服务器方法。并手动添加记录。我使用的是外部过滤器,例如,我使用列表网格和一切都很好。getFilterCriteria返回新的AdvancedCriteria(新条件(“名称”,OperatorId.CONTAINS,FilterTextItem.getValueAsString());。我尝试检查filterData时出错。@ukaszWoźniczka setDataSource(DataSource,ListGridField)正常,您的名称字段不是ListGridField,而是DataSourceTextField。它是外部过滤器还是表达式过滤器?setAllowExternalFilters是一个。getFilterCriteria()是哪个类的成员。如果您能改进您的问题,可能会有所帮助。