我有下拉选择框用于过滤jqgrid(不使用内置导航栏,数据是本地的)。我想把网格中没有匹配的那些灰色。
有没有办法执行查询只是在不更新ui行的情况下获取计数,这样我就可以初始化/更新下拉列表,只启用那些匹配项(甚至更好地提供菜单中的匹配项数)< / p>
编辑: 澄清我想禁用/灰色我的过滤器菜单项而不是表行项
答案 0 :(得分:1)
内部jqGrid使用$.jgrid.from方法将过滤器应用于数据。您想要实现它的可能不仅仅是获得计数,因为您写道:
我想把网格中没有匹配的那些变灰。
尽管如此,所有想要的东西都可以实现。您将不得不编写一些使用$.jgrid.from($("#list")[0].p.data)
进行初始化的JavaScript代码。然后,您必须使用contains
,lessOrEquals
,andNot
,orNot
等方法构建查询。然后,您应该应用var queryResults = query.select();
的查询。如果您在queryResults
中检查ID,则可以将所有不在集合中的项目设为灰色。
我建议您阅读并调试jqGrid的addLocalData方法,其中包含您需要的所有内容。此外,我建议您在the line上设置断点并检查match
和results
个变量。这不是原因,但如果你需要一些个人解决方案,你必须在其中投入时间。
更新:我更多关于所描述的问题。 My recent answer与the demo展示了如何解决问题。