jqGrid:发送编辑数据 [英] jqGrid: sending edit data

查看:53
本文介绍了jqGrid:发送编辑数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在jqgrid上使用表单编辑.当数据发送到Web服务器时,我希望在get/post数据中发送一个额外的字段.

I'm trying to use form editing on jqgrid. When the data is sent to the webserver, I want an extra field sent in the get/post data.

听起来我想使用editData.如何将其连接到导航栏?

It sounds like editData is what I want to use. How do I hook this into the navbar?

<script type="text/javascript">
    $(document).ready(function(){ 
        if (jQuery('#ReferenceGrid').attr('role') == 'undefined' || jQuery('#ReferenceGrid').attr('role') == null) {
            var lastSel;
            jQuery('#ReferenceGrid').jqGrid({
                url: '/PlannedWorkOrder/Items/',
                datatype: 'json',
                postData: { referenceNumber: $('#reference').text() },
                colNames: ['Platinum Part Number', 'Quantity'],
                colModel: [
                    { name: 'PlatinumPartNumber', index: 'PlatinumPartNumber', width: 300, sortable: false, editable: true },
                    { name: 'Quantity', index: 'Quantity', width: 300, sortable: false, editable: true, editrules:{integer: true}  },
                ],
                jsonReader: {
                    cell: "",
                    id: "PlatinumPartNumber",
                    repeatitems: false
                },
                search:false,
                viewrecords: true,
                height: '100%',
                sortorder: 'desc',
                caption: 'Details',
                altRows: true,
                pager : '#gridpager',
                pgbuttons: false,
                pginput: false,
                pgtext: false,
                viewrecords: false,
                editurl: '/PlannedWorkOrder/Item/'
            })
            jQuery("#ReferenceGrid").navGrid('#gridpager', { add: true, edit: true, search: false });
        }
        else {
            $("#ReferenceGrid").setGridParam({ postData: { firstName: $('#Reference').val(), lastName: $('#Reference').val() } });
            $("#ReferenceGrid").trigger("reloadGrid")
        }
    });

</script>

推荐答案

要添加在表单编辑中添加/编辑数据期间将发送的其他参数,可以使用editData:

To add additional parameters which will be sent during adding/editing of data in form editing you can use editData:

jQuery('#ReferenceGrid').jqGrid('navGrid',"#gridpager",
    {},
    {editData: {firstName: $('#Reference').val(),
                lastName: $('#Reference').text()}}, // edit options
    {editData: {firstName: $('#Reference').val(),
                lastName: $('#Reference').text()}); // add options

此外,您使用jQuery('#ReferenceGrid').attr('role')进行的构造看起来有些奇怪.可能您在我的旧建议

Moreover your construction with jQuery('#ReferenceGrid').attr('role') looks a little strange. Probably you find the solution of the same problem in my old suggestion How to filter the jqGrid data NOT using the built in search/filter box. I recommend you to use postData as a function: use

postData: { referenceNumber: function() { return $('#reference').text(); } },

代替

postData: { referenceNumber: $('#reference').text() },

这篇关于jqGrid:发送编辑数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆