Dojo DataGrid:过滤列 - 条件:CSV字符串中的值是否存在于数组中?

时间:2015-08-10 21:01:51

标签: datagrid dojo filtering

我正在使用Dojo DataGrid 与dojo' AndOrReadStore '这样我就可以对列数据使用复杂的查询。

我在dojo DataGrid中有一个列,比如DocumentTypeIds,它显示了每个文档行的文档类型ID的逗号分隔字符串。让我们说它的值在20个不同的可能值中是' 5,6' 。这些文档类型进一步分为3类: A,B,C 。例如

Document Type/name | A B C
---------------------------
5 / finance report | 1 0 0
6 / summary report | 0 1 0 

根据A,B和C的选择,我想过滤网格中的文档。例如,如果用户选择C并且文档类型ID是' 5,6' ,那么我不想过滤此文档。我可以根据我要比较此列的数组中的类别过滤可能的文档类型ID。让我们假设选择选项C后的可能值是 [8,9,299] 然后我的过滤条件需要

[5,6] in [8,9,2,99]
or 
'5,6' in '8,9,2,99' 

第一种方法的问题是列值是CSV格式,所以我不认为我可以将它们转换为查询中的数组。第二种方法的问题是我不想找到字符串' 5,6'在' 8,9,2,99' 而不是我想找到' 5'和' 6'存在于' 8,9,2,99' 中,它们可能不会在' 8,9,2,99'

我不知道如何处理这个问题,因为我在客户端过滤行非常重要,因为我想引入所有行并让用户选择他们想要查看的文档类型。

grid.filter({complexQuery: "DocumentTypeIds: ? "});

我感谢任何帮助。 感谢

0 个答案:

没有答案