2012-12-03 59 views
2

我有两个jqxgrids都来自同一地点,并使用相同的dataAdapter来获取数据。一个网格具有可过滤的列。我无法弄清楚如何强制第二个网格自动重新过滤,当用户在第一个输入一些过滤文本。有没有人这样做,或者甚至可以不必创建自定义过滤器?如何根据第一个过滤条件过滤第二个jqxgrid?

回答

1

使用'getfilterinformation',你可以得到jqxGrid的过滤器,条件和值。 getfilterinformation返回一个过滤器数组。阵列中的每个项目都有以下字段:

  • filter - 这是列的过滤器。您可以将过滤器视为一组过滤器,因为某列可能有多个应用过滤器。通过调用filter.getfilters(),您可以获得应用于列的所有过滤器。过滤器组中的每个过滤器都有{value,condition,operator和type},其中value是过滤器的值,condition是ex:“Contains”,操作符可以是“and”或“or”,类型表示过滤器的类型(stringfilter,datefilter等)。

  • 过滤列的数据字段。

然后,您可以将过滤器应用于网格实例作为此示例所示:customfiltering.htm

+0

感谢。我绝对可以这样做,而且确实做到了。将代码放在第一个网格的过滤器函数中,然后将过滤器应用到其他网络上非常简单。我很好奇,是否有一些自动化的魔法可以让它自行发生。如果没有人能尽快提出,我会接受你的答案。 –

0

您可以绑定到第一网格的filter事件的方法。由于API中规定:

$("#jqxGrid").on("filter", function (event) { 
    var filterinfo = $("#jqxgrid").jqxGrid('getfilterinformation'); 
    // then iterate through the filters applied to the 1st grid, and 
    // write the appropriate codes to apply the same filters to the 2nd grid 
}); 

HTH :)

相关问题