2013-01-27 07:28题主

数据批量修改及保存

由于业务需求,需要实现表格数据的批量增加,修改(编辑),删除及保存等操作功能。仿照数据库浏览器做了一个批量保存的功能,批量修改数据以后,点击保存报错。提示 where 附近有语法错误。弄了很久都搞不定。本人刚刚接触B/S开发,水平很差。这个问题一直困扰着我。遍寻论坛没有找到可以参考的简单的范例。而且发现跟我有同样需求的人不在少数,管理员可否针对我们这些基础较差,完全靠自己摸索比较吃力的人员,做一个类似的简单的DEMO,供我们参考学习呢?
2013-01-27 11:09#1
批量的增删改原理同单个增删改并无太大区别,数据库浏览器就是一个较好演示批量增删改的示例。
其核心思想是提交需要批量操作的数据,并在后台进行处理。
以表格增删改为例说明如下:
1、标记表格关联store的增删改记录,如record.isNew=true; record.isModified=true...;
2、批量提交时遍历store,并把增删改记录保存到名称分别为newArray,delArray,modifyArray的3个数组中,var newArray=[]; newArray.push(newRecord.getData()); ajax.params.newArray=Ext.encode(newArray)...
3、使用3个query来分别处理3个增删改列表,设置3个query的arrayName分别为newArray,delArray,modifyArray,并编写各自的SQL。为保护数据完整性,第一个query的transaction设置为start。

其实你有很多解决方式,并无固定的套路,完全取决你的设计思路。

2013-01-27 12:06#2
感谢回复。
我看EXT API 文档 data有个属性是 autosave 。不知道可否利用此属性,实现表格编辑修改之后,无需点击保存按钮,而自动将修改过的数据保存到数据库里呢。
2013-01-27 12:54#3
你是指调用store的sync方法实现的保存吗?该方法sync时也是使用ajax提交数据。不建议使用该方法,弊端较多,不如通过代码提交灵活;如果你经验较丰富,可以自由发挥。
2013-01-27 14:24#4
好的,非常感谢耐心回复。

返回开发者社区