如何在jqxGrid中启用filterrow时获取文本框旁边的过滤条件下拉列表?

时间:2014-06-07 02:41:51

标签: javascript jqxgrid jqwidget

我有一个带过滤器类型文本框的列,我启用了filterrow但我需要过滤条件下拉列表也出现在文本框旁边,因为我需要能够应用多个条件,如不等于和其他过滤器。

1 个答案:

答案 0 :(得分:0)

似乎有可能,但只能通过对jqxgrid.filter模块进行更改,许可证似乎允许。我的答案基于jQWidgets v3.4.0的代码。 (当然,首先去除代码很方便。)

有几个函数中有switch语句可以打开filtertype(例如numbertextbox)。您可以定义自己的过滤类型,通过选择新名称并添加案例陈述来显示带有下拉列表的文本框,以便在函数定义number_updatefilterrowui中添加clearfilterrow案例,和refreshfilterrow。对于函数_addfilterwidget,您需要添加自己的案例并复制number案例的代码,但要替换

行。
var A = F._getfiltersbytype("number");

var A = F._getfiltersbytype("string");

使用字符串比较运算符填充下拉列表 - 或者您可以定义自己的过滤类型,但这当然需要进行其他调整。在函数_applyfilterfromfilterrow中,您还需要根据number案例的代码添加案例,并进行一些调整。基本上,似乎做的诀窍是首先删除关于小数分隔符的部分,其次是不通过更改

来对输入字符串进行类型转换
y = k.createfilter(d, new Number(p), w, null, u.cellsformat, C.gridlocalization);

y = k.createfilter(d, p, w, null, u.cellsformat, C.gridlocalization);

请注意,这个答案可能并不完整,因为我还没有进行过广泛的测试(但我很想知道任何问题,因为我正在寻找与BeyondProgramming相同的功能)。