Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Filter 运行Slickgrid';反方向s滤波器_Filter_Filtering_Slickgrid - Fatal编程技术网

Filter 运行Slickgrid';反方向s滤波器

Filter 运行Slickgrid';反方向s滤波器,filter,filtering,slickgrid,Filter,Filtering,Slickgrid,我使用的是slickgrid,我有代表行组的行。使用slickgrid的默认过滤功能,它按从索引0到索引n的顺序过滤我的网格数据。有没有办法反向运行过滤器?意思是在索引n处启动我的过滤器,然后向下进入索引0 我希望在过滤器在网格数据中运行时,将要显示的组行存储在一个数组中。这样,当我来到分组行时,它将始终显示过滤器中该组中是否有项目。但是,如果组中没有项目在筛选器中,则隐藏分组行 例如,如果我有以下行: ----狗---- 金毛猎犬 科基 ----猫---- 印花布 缅因州库恩 “Dogs”和“

我使用的是slickgrid,我有代表行组的行。使用slickgrid的默认过滤功能,它按从索引0到索引n的顺序过滤我的网格数据。有没有办法反向运行过滤器?意思是在索引n处启动我的过滤器,然后向下进入索引0

我希望在过滤器在网格数据中运行时,将要显示的组行存储在一个数组中。这样,当我来到分组行时,它将始终显示过滤器中该组中是否有项目。但是,如果组中没有项目在筛选器中,则隐藏分组行

例如,如果我有以下行:

  • ----狗----
  • 金毛猎犬
  • 科基
  • ----猫----
  • 印花布
  • 缅因州库恩
  • “Dogs”和“Cats”行是组行。例如,如果我过滤字母“c”,网格应该如下所示:

  • ----狗----
  • 科基
  • ----猫----
  • 印花布
  • 只过滤名字中带有“c”的宠物。但是也会在“Dogs”分组行中进行过滤,即使其中没有字母“c”

    另外,如果我在“m”上进行筛选,网格应如下所示:

  • ----猫----
  • 缅因州库恩
  • 隐藏“Dogs”行,因为该行下没有与筛选器匹配的项目


    我询问过滤器是否可以反向运行的原因是,我以前在这里看到过这个问题,答案是使用您自己的过滤器在数组中运行,标记数组中要显示在数组中的项目,然后针对该标记运行slickgrid的过滤功能。这意味着至少要遍历数组2次。如果可以反向运行slickgrid的过滤器,则可以在一次遍历中完成。大大加快了速度。

    可能会在降序中调用DataView而不渲染网格,并从中进行过滤?但是,当您准备重新渲染时,这样做将反转整个数据集,尽管您可以保存以前的排序,然后在过滤数据后重新应用原始排序。通过查看代码,没有数组副本,因此无论您对数据集执行什么操作,都将应用于最终结果,我指的是排序。我假设您使用的是DataView。看起来DataView内部将有两个阶段:
    GetFilteredPagedItems()
    extractGroups()
    。您不需要将这些组合成一个循环来实现您的建议吗?如果是这样,这将是非常具体的需要。总的来说,我不确定我是否完全理解你的问题是什么。