Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jqgrid-使用数据库中的数据复制行_Jqgrid_Copy_Row - Fatal编程技术网

jqgrid-使用数据库中的数据复制行

jqgrid-使用数据库中的数据复制行,jqgrid,copy,row,Jqgrid,Copy,Row,我试图复制一行,但我使用的是数据库中的数据,并返回JSON。我想知道是否可以复制一行,以及是否可以分隔复制行的次数。例如,我需要复制id=6的行,但我需要复制该行的5个副本。如何才能做到这一点?使用getRowData从jqgrid中获取一行,然后通过var s=new array()创建一个数组,并按所需次数推送该行 在jqgrid内创建一个新列。。使用格式化程序在该列写入处理程序中放置一个链接,以便单击该链接。。在该处理程序上,使用getrowdata并获取字段,然后进行ajax调用以发送到

我试图复制一行,但我使用的是数据库中的数据,并返回JSON。我想知道是否可以复制一行,以及是否可以分隔复制行的次数。例如,我需要复制id=6的行,但我需要复制该行的5个副本。如何才能做到这一点?

使用getRowData从jqgrid中获取一行,然后通过var s=new array()创建一个数组,并按所需次数推送该行


在jqgrid内创建一个新列。。使用格式化程序在该列写入处理程序中放置一个链接,以便单击该链接。。在该处理程序上,使用getrowdata并获取字段,然后进行ajax调用以发送到服务器…

您可以在服务器端而不是在客户端完成主要工作

在jqgrid声明中,类似这样的内容:

grid.jqGrid({
    ...
    loadComplete: function(data) {
        var ids = grid.jqGrid('getDataIDs');

        for (var i=0;i<ids.length;i++) {
            var id=ids[i];
            var rowData = thisGrid.jqGrid('getRowData', id);

            grid.jqGrid('setCell', id, 'buttons', '<input type="button" class="copy" value="Copy">');
        }

        $('button.copy').click(function (e) {
            var id = $(e.target).parents('tr')[0].id;

            $.ajax({
                url: 'some_url',
                dataType : "json",
                data: {'id': id},
                timeout: 10000,
                type: 'POST',
                success: function (data) {
                    grid.trigger('reloadGrid');
                },
            });
        });
    }
    ....
});

如果您想复制多次,您可以在客户端添加一些对话框,以输入哪些javascript或asp.net或其他内容的副本数

。@vishalsharma for javascript和我也有一些php文件。您想先复制客户端的行,然后再将数据发送到服务器吗。或者要复制服务器端的行,然后重新加载网格?使用getRowData从jqgrid中获取一行,然后通过var s=new array()创建一个数组,并按需次数推送该行。。将其发送到服务器或以任何方式调整。。。这就是你的答案吗?@vishalsharma是的。。。但我如何才能将此发送到服务器?我必须在哪里做这个getRowData,在一个特定的函数内部还是不内部!?我有一个自定义按钮来复制行。。。我可以在
onClickButton
中执行这些操作吗?或者我真的需要创建这个新的列吗?没有你可以用你自定义按钮的onclick来创建。我已经给了那个专栏单行复制的想法。。如果你想要多行,你可以用自定义按钮。一点也不专业。。
$array = array(
    'success'=>false
);

if(isset($_POST['id])) {
    if($db -> num_rows($q = $db->query("SELECT FROM ... WHERE `id` = ".intval($_POST['id'])) == 1) {
        $row = $db -> fetch_assoc($q);

        $db->query("INSERT INTO .....);
        $array['success'] = true;
    }
}

echo json_encode($array);