处理非标准extjs网格 - 服务器通信

时间:2012-02-17 21:24:20

标签: extjs extjs4

ext js(v4)网格我在任何给定时间都收到了json记录的集合,其中每个记录都有一个标记,告诉网格与其他属性一起执行的操作。例如,在传入的集合中,网格可能会遇到以下内容(id为密钥):

{"records":
   [{"id":"101", "name":"I'm new", "op":"create"},
    {"id":"102", "name":"I'm old", "op":"delete"}, 
    {"id":"103", "name":"I'm different", "op":"update"}]
}

我正在尝试编写代码来告诉网格或商店在模型上执行这些不同的操作,但是没有那个操作然后回发到服务器(毕竟,这是指令的来源)。简单地说,客户端网格应该代表服务器上的内容,对象可以弹出和不存在。

我已经查看了代理的读者和编写者,或者从json代理本身继承并修改了读/写行为,但似乎我仍然需要调用destroy / create / update命令模型本身然后以某种方式使模型行为短路,因此它们不会将该crud操作发送回服务器。但是,这些选项都不是很正确。

在这种情况下是否应该使用ext-js组件而不是代理/读/写对象?

1 个答案:

答案 0 :(得分:2)

你在想这个。
您无需将操作发送回网格。如果您的服务器发送一组缺少记录(删除)的新数据,它将不会显示在网格中。如果将更改的数据集发送到网格(写入),则会显示这些更改。如果您在服务器端添加记录并将该集发送到网格 - 将显示一条新记录。

基本上,如果您的服务器端驱动所有更改,那么您不需要编写器配置,只需要只读网格。