【问题标题】:Using JQGrid in a search screen在搜索屏幕中使用 JQGrid
【发布时间】:2017-02-06 05:41:15
【问题描述】:

嗨(对不起我可怜的英语) 我已经在 J​​QGrid 上阅读了大约 4 天。小例子效果很好。但是每次,该示例都显示在页面加载时单独填充的网格。我想要一个搜索屏幕(一个像谷歌这样的文本框)并在 jqGrid 中显示答案(在帖子上)。我已经看到了一些带有数据类型的代码,其他带有 jsonReader 的代码......但没有一个完整的。我完全迷路了。我只想在 json 帖子中填充网格,当我尝试时,我只会在屏幕上以文本形式获得 json 消息。

我正在使用 ASP.NET MVC4,并通过免费的 JQGrid 学习。 我很确定存在这样的例子。我自己一定是个可怜的搜索者。

你能给出这样一个例子的链接吗? 非常感谢。

【问题讨论】:

  • 首先,重要的是要提及您需要在网格中总共显示多少行数据(在所有页面中)。我建议您使用 loadonce: true 选项并从 MVC 控制器返回所有项目的数组。它使代码变得非常简单,搜索/过滤、排序和分页将由客户端的jqGrid实现
  • 如果您需要在单独的列中搜索,那么filterToolbar 会很好。对于 global 过滤,请参阅 herehere。此外,在我开发的free jqGrid fork 和商业Guriddo jqGrid JS 之间进行选择也很重要。
  • 感谢您的回答。很抱歉之前没有回答。我从来没有收到一封电子邮件告诉我我有答案。必须看看那个.. 我使用你的免费 jqGrid。我绝对不想一次加载所有记录(超过 30000 条)。我更愿意将我的选择放在一个表单中,然后让 Json 得到答案。
  • 暂时。 json 答案到达另一个页面,而不是网格中的同一页面。我已经尝试了在 url 中添加请求参数并编写的解决方案: s = '@Url.Action("Recherche","PasserelleFlux")' + s jQuery("#list").jqGrid().setGridParam({ url: s}).trigger("reloadGrid");但它不起作用。
  • 如果你想过滤服务器上的数据那么你只需要使用postData:见the old answer。您需要在服务器端代码中实现服务器端分页、排序和过滤。

标签: asp.net jqgrid


【解决方案1】:

如果您要预加载 jqGrid 所需的所有数据,则可以使用我在此处记录的代码添加客户端搜索文本框:

jqGrid client-side searching

这对于小型数据集很有用,例如,您希望在员工记录的 JavaScript 数组中快速搜索特定人员,但如果您有非常大的数据集,它就没有用处。

这个例子还展示了如何使用搜索文本框,而不必打开 jqGrid 的用户不友好的搜索弹出对话框。

【讨论】:

  • 你好。谢谢您的回答。我看到了你很好的回答。我保留它是为了解决另一个页面上的另一个问题。但这不是我现在想做的。
猜你喜欢
  • 2012-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
相关资源
最近更新 更多