如何在jqGrid中将额外参数传递给Add和Edit url

时间:2011-07-25 15:50:46

标签: jqgrid

订单ID存储在变量_documentId中,并在运行时通过ajax调用更改,如果新订单保存为实际订单。

如果向jqGrid添加新的详细信息行添加表单网址或内联编辑网址也需要此ID。 我尝试使用postdata但是如果调用Edit和Add url则不传递_documentId。 如何将_documentId值传递给那些网址?

   var _documentId; // assigned from ajax call after save.

   $(function () {
        var grid = $("#grid");
        grid.jqGrid({
            postData: {_documentId: function() { return _documentId } },
            editurl: 'Edit',  // How to pass _documentId value to this controller ?

            url: 'GetData',
            datatype: "json",
            mtype: 'POST',
            scroll: 1,
            multiselect: true,
            multiboxonly: true, 
            scrollingRows : true,
            autoencode: true,
            prmNames:  {id:"_rowid", oper: "_oper" }, 
            colModel: <%= Model.ColModel() %>,
            gridview: true,
            toppager: true,
            viewrecords: true
            });

      grid.navGrid("#grid_toppager", {}, {}
        { url: 'Add' }  // How to pass _documentId value to this controller ?
      );                

1 个答案:

答案 0 :(得分:5)

如果是表单编辑,则应使用editData参数将其他数据发送到服务器。另一种方法是修改onclickSubmitbeforeSubmit事件处理程序内的postdata。您当然可以在serializeEditData事件处理程序中执行此操作。使用onclickSubmit,您可以轻松修改URL(params.url),如果您需要将信息真正放在URL中,而不是放在将要发送到服务器的数据中。

如果是内联编辑,您可以使用extraparameditRow参数或使用serializeRowData事件处理程序。