2013-08-17 29 views
0

当我编辑行并按Enter发送数据到web方法时,它发送一个行号而不是id(例如,而不是id = 111它发送'3 '代表网格上的第三行)。我如何获得id值呢?jqGrid编辑行发送行号而不是id到web方法

这里是代码:

$(document).ready(function() { 
     var id; 
     var lastsel; 
     jQuery("#rowed3").jqGrid({ 
      url:'Default3.aspx/GetData', 
      datatype: "xml", 
      ajaxGridOptions: { contentType: 'application/json; charset=utf-8' }, 
      ajaxRowOptions: { contentType: 'application/json; charset=utf-8' }, 
      serializeGridData: function (postData) { 
       return JSON.stringify(postData); 
      }, 
      serializeRowData: function (postData) { 
       return JSON.stringify(postData); 
      }, 
      mtype:'GET', 
      xmlReader: { 
       root: "programs", 
       row: "program", 
       repeatitems: false 
      }, 
      colNames:['id','field1','field2'], 
      colModel:[ 
       { name: 'id', index: 'id', width: 55, hidden: false, editable: false, editrules: { edithidden: false }, hidedlg: true }, 
       { name: 'field1', index: 'field1', width: 90, editable: true }, 
       { name: 'field2', index: 'field2', width: 100, editable: true } 
      ], 
      rowNum:10, 
      rowList:[10,20,30], 
      pager: '#prowed3', 
      sortname: 'id', 
      viewrecords: true, 
      sortorder: "desc", 
      onSelectRow: function(id){ 
       if(id && id!==lastsel){ 
        jQuery('#rowed3').jqGrid('restoreRow',lastsel); 
        jQuery('#rowed3').jqGrid('editRow',id,true); 
        lastsel=id; 
       } 
       //$("#rowed3").jqGrid('setGridParam', { editurl: 'Default3.aspx/EditRow' }); 
      }, 
      onCellSelect: function(rowid,iCol,cellcontent,e) { 
       alert(cellcontent);}, 
      //ondblClickRow: function(rowid) { 
      // jQuery('#rowed3').jqGrid('editRow',id,true); 
      //}, 
      editurl: "Default3.aspx/EditRow", 
      caption: "Using events example" 
     }); 
     jQuery("#rowed3").jqGrid('navGrid',"#prowed3",{edit:false,add:false,del:false}); 
    }); 



[WebMethod] 
//[ScriptMethod(UseHttpGet = true, ResponseFormat = ResponseFormat.Xml)] 
public static string EditRow(string id,string field1,string field2) 
{ 

    string x = id; ; 


    return x; 
} 
+1

我找到了解决办法:在colModel真:设置键。 – user2464976

+0

为什么不回答?这是我正在寻找的答案。 – Rudy

回答

0

在colModel BOTH键:真实和可编辑:真正的需要进行设置。

我没想到我的编辑隐藏标识字段是相关的,因此为什么原文评论不只是工作

相关问题