用于多列的Dojo数据网格过滤器



我想根据or条件过滤数据网格中的所有列。对于单列(名称)过滤器,我尝试了下面的函数,它运行正常。

grid.filter( {name: "*" + value + "*" } );

现在我想对网格上的多个列使用这个过滤器,我尝试了下面的代码,但不起作用:

grid.filter({name:"*" + value + "*"} || {solution:"*" + value + "*"});

请帮助我为网格上的多列过滤器提供合适的代码。我使用的是Dojo 1.8.1。

创建用于筛选目的的隐藏列,并放入要筛选的串联数据。

如果数据存储的数据是:

data=[
{ name: "smartphone", solution: "use iPhone instead iPod"},
{ name: "tablet",     solution: "use iPad instead iPod"},
{ name: "iPad",       solution: "use it"}
]

添加列以筛选其他列的串联数据:

data=[
{ name: "smartphone", solution: "use iPhone instead iPod", forFiltering: "smartphone use iPhone instead iPod"},
{ name: "tablet",     solution: "use iPad instead iPod",   forFiltering: "tablet use iPad instead iPod"},
{ name: "iPad",       solution: "use it",                  forFiltering: "iPad use it"}
]

然后对该列进行过滤:

grid.filter({forFiltering:"*" + value + "*"});

如果我正确理解你的问题,你可以简单地用逗号分隔过滤器的两个参数。因此代替grid.filter({name:"*" + value + "*"} || {solution:"*" + value + "*"});

您应该使用grid.filter({name:"*" + value + "*",solution:"*" + value + "*"} );

您可以在jsfiddle 中查看此工作示例

相关内容

  • 没有找到相关文章

最新更新