jQuery MiniUI

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

Grid复制数据 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2015-11-5 10:57:33 |只看该作者 |倒序浏览
比如我现在同一个界面有两个grid分别是grid1和grid2,我在grid1上选中某条数据或者多条转到grid2来。但是在grid2提交的后台的时候没有数据,所以我觉得添加到grid2的数据是不是虚拟的。
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

沙发
发表于 2015-11-5 11:04:15 |只看该作者
http://www.miniui.com/demo/#src=datagrid/moveitems_copy.html
参考示例,复用数据请先克隆

Rank: 2

板凳
发表于 2015-11-5 11:30:24 |只看该作者
felt 发表于 2015-11-5 11:04
http://www.miniui.com/demo/#src=datagrid/moveitems_copy.html
参考示例,复用数据请先克隆 ...

不需要做一些什么改变吗?提交后台data还是null

Rank: 2

地板
发表于 2015-11-5 11:49:52 |只看该作者
guyu008 发表于 2015-11-5 11:30
不需要做一些什么改变吗?提交后台data还是null

保存数据时会var data = grid.getChanges();  但是在复制数据的时候,我如何能改变克隆数据的状态,改为已被改变的数据,用grid.getChanges();能获取到

Rank: 8Rank: 8

5#
发表于 2015-11-5 12:00:55 |只看该作者
guyu008 发表于 2015-11-5 11:49
保存数据时会var data = grid.getChanges();  但是在复制数据的时候,我如何能改变克隆数据的状态,改为 ...

http://www.miniui.com/demo/#src=datagrid/moveitems_copy.html
不明白你有什么问题,看示例,移动到第二个表格内,getChanges可以获取到新增的数据

Rank: 2

6#
发表于 2015-11-5 14:45:31 |只看该作者
felt 发表于 2015-11-5 12:00
http://www.miniui.com/demo/#src=datagrid/moveitems_copy.html
不明白你有什么问题,看示例,移动到第 ...

比如说我grid1的数据是从数据库取出来的,是没有_state那个属性的,当我复制到第二个grid2同样也会没有这个属性。那么在grid2保存数据的时候,那个getChanges()只会获取_state等于(added,modify,delete)的数据。就算用getData也得不到那个属性去后台判断。你的那个例子应该初始化的数据就会有_state的值

Rank: 8Rank: 8

7#
发表于 2015-11-5 15:38:15 |只看该作者
guyu008 发表于 2015-11-5 14:45
比如说我grid1的数据是从数据库取出来的,是没有_state那个属性的,当我复制到第二个grid2同样也会没有这 ...

你所说的复制到grid2是怎么操作的,用我们addRow方法新增肯定有_state

Rank: 2

8#
发表于 2015-11-5 15:46:17 |只看该作者
felt 发表于 2015-11-5 15:38
你所说的复制到grid2是怎么操作的,用我们addRow方法新增肯定有_state

//转应付
function onReleYf(){

        var ysDetailDataGrid = mini.get("ysDetailDatagrid");//得到列表
       
        var yfDetailDataGrid = mini.get("yfDetailDatagrid");
       
        //得到选择行事件
        var record = ysDetailDataGrid.getSelecteds();
       
        var items = mini.clone(record);

         //根据id判断,去除重复的item
    for (var i = items.length - 1; i >= 0; i-- ) {
        var item = items;
        var item2 = yfDetailDataGrid.findRow(function (row) {
            if (row.shipmentNo == item.shipmentNo) return true;
        });
        if (item2) {
            items.removeAt(i);
        }
    }
    yfDetailDataGrid.addRows(items);
       
}

上面是grid1克隆数据到grid2,那么下面是grid2在保存的时候用的是var data = grid.getChanges();如果用getData全部数据也没有。但是后台是通过_STATE属性来判断进行增删改的

Rank: 8Rank: 8

9#
发表于 2015-11-5 16:13:20 |只看该作者
guyu008 发表于 2015-11-5 15:46
//转应付
function onReleYf(){

addRows添加的没保存过,getChanges肯定可以获取到
http://www.miniui.com/demo/#src=datagrid/moveitems_copy.html
把saveData方法里面的getData换成getChanges,一样可以获取

Rank: 8Rank: 8

10#
发表于 2015-11-5 16:16:38 |只看该作者
guyu008 发表于 2015-11-5 15:46
//转应付
function onReleYf(){


附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Archiver|普加软件

GMT+8, 2024-9-20 06:09 , Processed in 1.069381 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部