jQuery MiniUI

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

与Grid绑定的表单,取消编辑 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2013-9-27 16:20:19 |只看该作者 |倒序浏览


情况是这样:

现有表单与DataGrid表格,进行绑定了。

在编辑表单中的资料时,如果,想取消前面修改的资料。则表单中找不到取消的方法。

但是Grid表格有取消方法:grid.cancelEdit();

那表单要怎样取消,查了API没找到,也没相关帖子。

Rank: 8Rank: 8

沙发
发表于 2013-9-27 16:22:32 |只看该作者
是的,表单的话只能重新刷新加载一下.

Rank: 3Rank: 3

板凳
发表于 2013-9-27 16:37:45 |只看该作者
factory 发表于 2013-9-27 16:22
是的,表单的话只能重新刷新加载一下.

        function cancelData()
        {
            grid.cancelEdit();
            //var db = new mini.DataBinding();
            //db.bindForm("panel_sjzl", grid);//重新绑定表单
            var form = new mini.Form("#panel_sjzl");
            form.setData(grid.getSelected(),false);
       }

开始重新绑定不行,
后面setData也还是不行哦。

Rank: 8Rank: 8

地板
发表于 2013-9-27 16:44:20 |只看该作者
netui 发表于 2013-9-27 16:37
function cancelData()
        {
            grid.cancelEdit();

你看下这个demo的setForm()
http://www.miniui.com/demo/index.html#src=form/form.html

你先setForm()录入修改几个数据,然后再点击setFrom()是可以恢复到原来数据的

Rank: 3Rank: 3

5#
发表于 2013-9-27 16:46:30 |只看该作者
factory 发表于 2013-9-27 16:44
你看下这个demo的setForm()
http://www.miniui.com/demo/index.html#src=form/form.html

嗯,我等下先看看 mini.alert(mini.encode(grid.getSelected()));
这个取得的行数据是不是   还是修改后的数据。

Rank: 3Rank: 3

6#
发表于 2013-9-27 16:51:04 |只看该作者
netui 发表于 2013-9-27 16:46
嗯,我等下先看看 mini.alert(mini.encode(grid.getSelected()));
这个取得的行数据是不是   还是修改后 ...

果真 mini.encode(grid.getSelected()) 取得数据,还是修改后的数据,

执行grid.cancelEdit();这一语句后, 没有效果,取得数据还是上面的。

执行grid.accept();这一语句后,就只有 _state":"modified" 这个没有了。但是数据还是修改后的数据,

数据它并没有还原哦。

所以,最后 form.setData(obj,false); 还是原来修改后的样子。

Rank: 3Rank: 3

7#
发表于 2013-9-27 16:54:33 |只看该作者
factory 发表于 2013-9-27 16:44
你看下这个demo的setForm()
http://www.miniui.com/demo/index.html#src=form/form.html

另外,刚才有测试

grid.cancelEdit();
mini.alert(mini.encode(grid.getSelected()));

在Grid没有绑定表单的界面中, mini.alert(mini.encode(grid.getSelected())); 这个是可以取得修改前的资料。

这样就是对的。

但grid绑定了,表单,就不行了。

那这样看到,是不是在表格grid.cancelEdit();取消前, 先解除绑定 ?

Rank: 9Rank: 9Rank: 9

8#
发表于 2013-9-28 10:11:40 |只看该作者
accept不是还原数据,是提交修改,清除修改痕迹
cancelEdit也不是用在数据绑定的场合,是取消表格单元格编辑的时候用的。
用reject和acceptRecord方法试试。
grid.acceptRecord(record); 撤销修改

Rank: 3Rank: 3

9#
发表于 2013-9-28 14:20:48 |只看该作者
niko 发表于 2013-9-28 10:11
accept不是还原数据,是提交修改,清除修改痕迹
cancelEdit也不是用在数据绑定的场合,是取消表格单元格编 ...

嗯,昨天有使用下面的两个行操作,测试,也还是不行。

grid.cancelEditRow(grid.getSelected());
            //grid.cancelEdit();
            //grid.accept();
grid.acceptRecord(grid.getSelected());

把两句的位置换了下,也还是不行的。

Rank: 3Rank: 3

10#
发表于 2013-9-28 14:21:50 |只看该作者
niko 发表于 2013-9-28 10:11
accept不是还原数据,是提交修改,清除修改痕迹
cancelEdit也不是用在数据绑定的场合,是取消表格单元格编 ...

另外,没有找到reject方法。

Archiver|普加软件

GMT+8, 2024-6-16 07:34 , Processed in 1.051006 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部