jqGrid 使用带分页的骨干网

jqGrid using Backbone with paging

本文关键字:骨干网 分页 jqGrid      更新时间:2023-09-26

我看到一些商业应用程序的例子,用于支持带有jqGrid的MVC(asp.net(,我正在尝试确定将jQgrid与Backbone.js客户端mvc一起使用的最佳方法。

我们当前使用的是 Backbone 视图,该视图使用较小的表和由 Backbone 集合提供的"本地"数据类型来保存 jqgrid 精细。

为了支持分页和虚拟滚动,我希望主干模型/集合支持从服务器和任何搜索/过滤选项获取数据,并将输出传递到视图和jqgrid以更新网格。

似乎 jqGrid 有一些与事件挂钩,例如 beforeRequest、loadBeforeSend,我可以钩接到并执行集合调用来发出 ajax 请求并返回 json 并更新集合(利用 Addy 的 Backbone Paginator 集合(,但似乎 jqgrid 仍然会执行 ajax 调用,这似乎不正确地控制视图而不是模型。

如果我使用自定义数据类型,我可以在网格需要获取更多数据并让 bb 集合提供该功能和获取数据时捕获条件。

自定义数据类型是最佳选择,是否有更好的方法将主干模型/集合挂接到 jqgrid?

在主干环境中,您需要将表直接绑定到具有适当侦听器的集合以更新数据,否则您要么依赖于静态视图 - 这与您使用主干的原因相反 - 或者您将花费无数个小时钩住回调来更新从未用于任何实时的网格。

我在 Backbone 环境中做了两次 datatables.net,两次尝试都是一团糟,因为我本质上是暴力强迫数据表更新它自己的模型,这是矫枉过正。 同样,试图利用Datatable的服务器端选项几乎是不可能的,因为它与Ajax事务的骨干系统冲突。

看看Backgrid,它是从头开始构建的,可以与Backbone一起使用。 到目前为止,这是我找到的最简单、最干净、开销最低的选项。