3

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

我们目前正在使用一个 Backbone 视图,该视图可以很好地保存 jqgrid,具有较小的表和由主干集合提供的“本地”数据类型。

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

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

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

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

4

1 回答 1

0

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

我在 Backbone 环境中完成了 datatables.net 两次,两次尝试都是一团糟,因为我本质上是暴力破解数据表来更新它自己的模型,这太过分了。同样,尝试利用 Datatable 的服务器端选项几乎是不可能的,因为它与 Ajax 事务的 Backbone 系统相冲突。

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

于 2015-04-02T15:56:38.057 回答