如何从Dojo增强型网格过滤器插件下拉条目中删除“任何列”选项

时间:2011-12-29 11:38:14

标签: plugins filter dojo

我一直在使用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”条目?

2 个答案:

答案 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