我想根据or
条件过滤数据网格中的所有列。
对于单列(名称)过滤器,我尝试了以下功能,它正常工作。
grid.filter( {name: "*" + value + "*" } );
现在我想对网格上的多个列使用此过滤器,我尝试了下面的代码,但这不起作用:
grid.filter({name:"*" + value + "*"} || {solution:"*" + value + "*"});
请帮助我为网格上的多列过滤器提供合适的代码。我正在使用Dojo 1.8.1。
答案 0 :(得分:0)
创建隐藏列以进行过滤,并输入您想要过滤的连续数据。
如果您的数据存储数据是:
data=[
{ name: "smartphone", solution: "use iPhone instead iPod"},
{ name: "tablet", solution: "use iPad instead iPod"},
{ name: "iPad", solution: "use it"}
]
使用其他列的连接数据添加forFiltering列:
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 + "*"});
答案 1 :(得分:0)
如果我理解你的问题,你可以简单地用逗号分隔过滤器的两个参数。而不是grid.filter({name:"*" + value + "*"} || {solution:"*" + value + "*"});
你应该使用grid.filter({name:"*" + value + "*",solution:"*" + value + "*"} );
您可以在jsfiddle
中查看此工作示例