jQuery MiniUI

 找回密码
 立即注册
查看: 2768|回复: 5
打印 上一主题 下一主题

关于grid的快速编辑单元格编辑 的思路 包括getChanged的方案 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2013-9-17 11:47:26 |只看该作者 |倒序浏览
我想请问一下关于grid的快速编辑单元格编辑 的整体思路 详细点好
3q

Rank: 8Rank: 8

沙发
发表于 2013-9-17 13:08:50 |只看该作者
getChanges()获取出来你对表格的修改的数据数组
我们会对每条数据加上_state属性
新增的是added,修改的是modified,删除的是removed
然后对这个数组mini.encode(changes) 为json字符串
通过ajax发送到后台,后台获取到数据之后,再根据数据上的_state来分别执行增删改 数据库操作

Rank: 3Rank: 3

板凳
发表于 2013-9-17 14:25:49 |只看该作者
factory 发表于 2013-9-17 13:08
getChanges()获取出来你对表格的修改的数据数组
我们会对每条数据加上_state属性
新增的是added,修改的是mo ...

这个我知道,后台通过state去判断 是新增的数据还是修改的 然后调用DAO 持久化,这个我实现了没问题。

我是问Editgrid的实现。对于你的实现的js 源码实现思路.

比如:

我双击一个单元格后,它的editor显示,单元格原来的内容DIV  hide。
我修改了很多列的值。
我保存的时候,怎么得到哪些editor中的值的。editor有很多类型,比如combox,datepicker

Rank: 8Rank: 8

地板
发表于 2013-9-17 14:29:25 |只看该作者
rzy 发表于 2013-9-17 14:25
这个我知道,后台通过state去判断 是新增的数据还是修改的 然后调用DAO 持久化,这个我实现了没问题。

...

办法有多种,最方便的,你可以根据id去给到单元格值

Rank: 3Rank: 3

5#
发表于 2013-9-17 14:46:38 |只看该作者
factory 发表于 2013-9-17 14:29
办法有多种,最方便的,你可以根据id去给到单元格值

你是说,将editor的id和单元格的id关联。通过单元格找到他的editor然后获得editor的类型,调用它的getValue()方法。取得值。 这是一个思路。3q

还有你的单元编辑完以后,点击其他地方,取消编辑模式,应该不是用的单元格的blur事件吧。因为如果editor是一个下拉框,比如datepicker。如果你用的blur事件,那么你在点击某一天时,就已经出发了单元格的blur事件,所以选择不到日期。

Rank: 8Rank: 8

6#
发表于 2013-9-17 15:19:14 |只看该作者
rzy 发表于 2013-9-17 14:46
你是说,将editor的id和单元格的id关联。通过单元格找到他的editor然后获得editor的类型,调用它的getVal ...

表单控件基本都有valuechanged事件,你给表单控件编辑值,他内部都会激发valuechanged事件

Archiver|普加软件

GMT+8, 2024-9-19 09:46 , Processed in 1.056871 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部