jQuery MiniUI

标题: treegird拖拽以及编辑问题 [打印本页]

作者: zuzjx    时间: 2013-6-19 18:49:27     标题: treegird拖拽以及编辑问题

1.tree拖拽排序,以及父子节点变换,如何知道是排序还是改变了父节点信息呢?
2.编辑时,光标移开之后如何获取修改的编辑框对象?使用的时oncellendedit事件。


作者: factory    时间: 2013-6-20 10:24:57

1.树的修改拖拽等保存,请参考:http://www.miniui.com/demo/#src=tree/treeCRUD.html
具体后台请下载试用包,里面有后台代码

2.oncellendedit = "oncellendedit"
function oncellendedit(e){
     var editor = e.editor
}
作者: zuzjx    时间: 2013-6-20 10:45:19

管理员,你好!
如何判断值是否修改呢?
作者: factory    时间: 2013-6-20 13:23:28

zuzjx 发表于 2013-6-20 10:45
管理员,你好!
如何判断值是否修改呢?

var change = grid.getChanges(null,true)
获取出来的只会是修改过的单元格值,如果不为true,获取到的是修改的单元格所在的整行数据
作者: zuzjx    时间: 2013-6-20 13:42:17

我想问的是
function oncellendedit(e){
     var editor = e.editor
}
如何获取到这个e是否有变动
作者: factory    时间: 2013-6-20 13:52:41

zuzjx 发表于 2013-6-20 13:42
我想问的是
function oncellendedit(e){
     var editor = e.editor

e变动? 你要的是e.value吧?e里面具体有什么,你自己调试进去看下就知道了,我现在不明白你到底需要什么了。
你应该要的是e.value吧?
作者: zuzjx    时间: 2013-6-20 13:58:32

本帖最后由 zuzjx 于 2013-6-20 14:14 编辑

e.value 获取的是改变后的值,miniui文本内容改变之后会在右上角有一个三角小符号,我想改变这个样式,怎么改呢?
或者说,根据值是否变化判断是否及时ajax提交数据更新。

作者: factory    时间: 2013-6-20 15:10:20

zuzjx 发表于 2013-6-20 13:58
e.value 获取的是改变后的值,miniui文本内容改变之后会在右上角有一个三角小符号,我想改变这个样式,怎么 ...

表格是否有修改的地方,判断getChanges().length就行了

修改样式请用firefox等工具去看样式,然后再改样式
作者: zuzjx    时间: 2013-6-20 15:44:18

本帖最后由 zuzjx 于 2013-6-20 15:55 编辑

getChanges().length 这个方法只能是全局的,能否具体到某个控件呢?因为全局的话,可能会出现问题,其他地方有修改,但是我这边只需要修改当前修改的文本框。所以我想具体到某个位置,样式问题我只是举个例子呢~~

我看到有一个isModified(),请问这个怎么用呢?

作者: factory    时间: 2013-6-20 16:03:56

zuzjx 发表于 2013-6-20 15:44
getChanges().length 这个方法只能是全局的,能否具体到某个控件呢?因为全局的话,可能会出现问题,其他地 ...

我现在不明白你到底需要做什么了

如果你需要只获取出表格的修改过的单元格的值,然后发送到后台去进行数据库操作,那你直接grid.getChanges(null,true)就可以了啊
作者: zuzjx    时间: 2013-6-20 16:21:11

factory 发表于 2013-6-20 16:03
我现在不明白你到底需要做什么了

如果你需要只获取出表格的修改过的单元格的值,然后发送到后台去进行数 ...

想实现修改及时提交。
如果使用getchanges,修改之后必须使用reload,重新加载。且获取的是全局的change。我想具体到某个文本框是否被修改。
作者: factory    时间: 2013-6-20 16:40:43

zuzjx 发表于 2013-6-20 16:21
想实现修改及时提交。
如果使用getchanges,修改之后必须使用reload,重新加载。且获取的是全局的change ...

你不reload也可以啊,反正你界面已经修改好了,只不过是提醒后台进行保存而已,也不是说你前台修改了,必须reload,前台才显示修改后的数据。

具体到某个文本框是否本修改过,只能获取修改后的值,修改完毕之后,之前的值无法获取
作者: zuzjx    时间: 2013-6-20 16:56:51

isModified() 能否判断呢?我看miniui自己貌似是使用这个判断的呢[attach]2207[/attach],出现这个小图标,是什么方法实现的呢?我看有用到isModified()呢
作者: factory    时间: 2013-6-20 17:14:29

本帖最后由 factory 于 2013-6-20 17:15 编辑
zuzjx 发表于 2013-6-20 16:56
isModified() 能否判断呢?我看miniui自己貌似是使用这个判断的呢,出现这个小图标,是什么方法实现的呢? ...

我觉得你要做编辑完就保存,完全没必要这么复杂啊
var data = grid.getChanges();

获取出来的是是一个数组,你是编辑完就保存,那应该只有一条数据,你把data发送到后台

跟后台交互的时候,判断下data.length,如果有修改肯定是>0,否则,就是没修改过,就不要去交互了。
到了后台,data[0]就是你修改的那条数据,然后执行 更新这条数据在数据库里面的那条相关数据就可以了啊
干嘛还要绕那么多弯
作者: zuzjx    时间: 2013-6-20 17:16:31

factory 发表于 2013-6-20 17:14
我觉得你要做编辑完就保存,完全没必要这么复杂啊
var data = grid.getChanges();

不是,需要考虑到客户的网络等情况,如果客户提交返回速度慢,时间长的话,那这个change会一直有,这样客户对第二个文本框编辑的时候,我无法准确定位修改数据
作者: niko    时间: 2013-6-21 17:32:27

树CRUD示例:
1)http://www.miniui.com/demo/#src=tree/treeCRUD.html
2)http://www.miniui.com/demo/#src=tree/treeCRUD2.html




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2