jqGrid:如何使用订单明细行保存订单数据

时间:2011-07-24 21:36:46

标签: asp.net-mvc jqgrid

页面包含jqGrid中表单和订单详细信息中的订单表头数据。

可以使用内联编辑,编辑或添加表单来创建或更改详细信息。

如果创建并保存了新细节但尚未保存订单标题,则会发生db异常。

如何在保存明细行之前或与保存明细行一起保存订单标题。 可能有两种可能性:

  1. 在添加明细行之前,强制jqGrid通过调用SaveDocument()来提交订单。 或
  2. 将订单数据与订单行一起发送到添加控制器。
  3. 知道如何实现这个吗?

    <script>
    var grid = $("#grid");
    grid.jqGrid({
    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,
                editurl: 'Edit',
                rownumbers: true,
                ondblClickRow:  function(rowId) { beginEdit(rowId) },
    });
    
    
    function SaveDocument()  {
     // Returns false if order detail adding should be cancelled
     var res;
    $.ajax({ type: "POST",        
      async: false,
      url: 'AddOrder',
      data : $("#Form").serializeArray(),
      error: function (jqXHR, textStatus, errorThrown) { 
          alert('Order save is cancelled, correct and try again'); res=false; 
          }
      success: function (data, textStatus, jqXHR) { res= true; }
      });
     return res;
     }
    </script>
    
    <form id="Form" onsubmit='SaveDocument(); return false;'>
    Order Date <input name='orderdate'>
    Order number <input name='ordernumber'>
    <input type='submit' value='Save' />
    </form>
    <div id="grid1container" style="width: 100%">
        <table id="grid">
        </table>
    </div>
    

0 个答案:

没有答案