我的页面上有一个EditorGridPanel。 我的目标是通过POST方法将更新的数据传递给PHP。 虽然我希望它只在单击“保存”按钮后才会发生。 我知道我可以通过将数据转换为数组并像表单一样发送它来实现它,但是有更好的方法吗? 我尝试过使用JsonWriter,但每次更新网格中的数据时都会发送请求。
那么最好的方法是什么?
答案 0 :(得分:3)
JasonWriter是保存记录的好方法,您在商店定义中缺少的是autoSave: false,
。
autoSave : Boolean
Defaults to true causing the store to automatically save records to the server
when a record is modified (ie: becomes 'dirty'). Specify false to manually
call save to send all modifiedRecords to the server.
Note: each CRUD action will be sent as a separate request.
基本上你应该编写自己的方法来保存记录。大多数可用的示例专注于发送刚刚修改过的记录var modified = Store.getModifiedRecords ();
,然后进行提取和编码,您需要的是发送所有记录将简化该操作。
很抱歉,我没有便捷的在线示例,我会建议您通过Jesus Garcia查看“ExtJS in Action”,其中有关CRUD的精彩章节来自EditGridPanel
答案 1 :(得分:-3)
使用jquery。在保存按钮单击事件创建您的json并使用$ .post函数。