我一直在使用Dojo增强网格过滤器插件。我的增强网格正在与服务器端存储进行通信,因此我的过滤条件也被发送到服务器以获取过滤后的数据。
Dojo过滤器插件提供至少9-10个过滤器,如contains,“startswith”,“endswith”等。
在我的服务器中,我只过滤了2到3个过滤器的查询。
我正在使用“disabledConditions”来显示过滤器插件下拉列表中的标准。
阅读文档后,我了解了anyColumn,以便在下拉列表中的“Any Column”选项中禁用条件。即使我在任何列中将整个条件列表都设为禁用,我仍然会看到空的下拉框。
var disabledArray1 = [“equalTo”,“startsWith”,“notStartsWith”,“lessThan”,“lessThanOrEqualTo”,“greaterThan”,“greaterThanOrEqualTo”,“contains”,“endsWith”,“notEqualTo”,“notContains” “notStartsWith”, “notEndsWith”, “范围”, “的isEmpty”];
过滤器:{ itemsName:'调查区', closeFilterbarButton:是的, ruleCount:1, isServerSide:是的, setupFilterQuery:setupFilter, anycolumn:disabledArray1 },
有没有办法可以从插件过滤器的下拉列表中删除“Any Column”条目?
答案 0 :(得分:0)
除了像这样的肮脏黑客之外,我找不到任何办法:
dojo.forEach(dijit.byId('yourGridId').pluginMgr.getPlugin('filter').filterDefDialog._cboxes, function(criteriaBox) {
var theSelect = criteriaBox._colSelect;
theSelect.removeOption(theSelect.options[0]);
});
我认为“anycolumn”选项是选择中的第一个...在删除之前随意添加其他检查......
答案 1 :(得分:0)
我刚刚向dojo提交了一个错误。让我们看看他们说的话:http://bugs.dojotoolkit.org/ticket/16604。