2012-07-31 1 views
0

JQgrid를 사용하고 내 개체를 편집하려고합니다. 그러나 매개 변수를 서버 측 코드에 전달하는 방법을 모르겠습니다. 여기에 내 jq 코드가 있습니다 :jqGrid 편집 행의 서버 측 코드에 매개 변수 전달

jQuery("#tblList").jqGrid({ 
      url: 'CityList.aspx/GetList', 
      editurl: 'CityList.aspx/GetList', 
      mtype: 'POST', 
      datatype: 'json', 
      postData: { searchString: '', searchField: '', searchOper: '' }, 
      ajaxGridOptions: { contentType: "application/json" }, 
      serializeGridData: function (postData) { 
       var propertyName, propertyValue, dataToSend = {}; 
       for (propertyName in postData) { 
        if (postData.hasOwnProperty(propertyName)) { 
         propertyValue = postData[propertyName]; 
         if ($.isFunction(propertyValue)) { 
          dataToSend[propertyName] = propertyValue(); 
         } else { 
          dataToSend[propertyName] = propertyValue 
         } 
        } 
       } 
       return JSON.stringify(dataToSend); 
      }, 
      jsonReader: { 
       root: "d.rows", 
       page: "d.page", 
       total: "d.total", 
       records: "d.records" 
      }, 
      colNames: ['Id', 'Şehir Adı'], 
      colModel: [ 
       { name: 'CityId', index: 'CityId', hidden: true }, 
       { name: 'Name', index: 'Name', width: 400, editable: true, edittype: 'text' } 
      ], 
      ondblClickRow: function (id) { alert("You double click row with id: " + id); }, 
      pager: '#tblPager', 
      rowList: [10, 20, 30], 
      sortname: 'CityId', 
      sortorder: 'desc', 
      rowNum: 10, 
      loadtext: "Yukleniyor....", 
      shrinkToFit: false, 
      multiselect: false, 
      emptyrecords: "Kayit Bulunamadi", 
      autowidth: true, 
      shrinkToFit: true, 
      height: "400", 
      rownumbers: true, 
      //subGrid: true, 
      caption: 'Şehirler' 
     }).navGrid('#tblPager', { add: true, edit: true, del: true, reload: true }); 

    }); 
    jQuery("#tblList").editGridRow(rowid, properties); 

나는 jqGrid를 처음 사용합니다. 어떻게하면 내 기록을 편집 할 수 있습니까? 그래서

<asp:ObjectDataSource ID="ObjectDataSourceVets" runat="server" 
     SelectMethod="GetVetAll" TypeName="AHP.Data.PhoneBookRepository" 
     UpdateMethod="UpdateVet" InsertMethod="InsertVet" 
     OldValuesParameterFormatString="original_{0}" > 
     <InsertParameters> 
      <asp:Parameter Name="FirstName" Type="String" /> 
      <asp:Parameter Name="M" Type="String" /> 
      <asp:Parameter Name="LastName" Type="String" /> 
      <asp:Parameter Name="vetphone" Type="String" /> 
      <asp:Parameter Name="vetemail" Type="String" /> 
      <asp:Parameter Name="Degree" Type="String" /> 
      <asp:Parameter Name="License" Type="String" /> 
      <asp:Parameter Name="Code" Type="String" /> 
      <asp:Parameter Name="BusID" Type="String" /> 
      <asp:Parameter Name="oper" Type="String" /> 
      <asp:Parameter Name="id" Type="String" /> 
     </InsertParameters> 
     <SelectParameters> 
      <asp:Parameter Name="BusID" Type="String" /> 
     </SelectParameters> 
     <UpdateParameters> 
      <asp:Parameter Name="FirstName" Type="String" /> 
      <asp:Parameter Name="M" Type="String" /> 
      <asp:Parameter Name="LastName" Type="String" /> 
      <asp:Parameter Name="vetphone" Type="String" /> 
      <asp:Parameter Name="vetemail" Type="String" /> 
      <asp:Parameter Name="Degree" Type="String" /> 
      <asp:Parameter Name="License" Type="String" /> 
      <asp:Parameter Name="Code" Type="String" /> 
      <asp:Parameter Name="VetID" Type="String" /> 
     </UpdateParameters> 
    </asp:ObjectDataSource> 

하여 InsertMethod에서 ObjectDataSource를 지정된 busid이있다 - 영문 파일에

public void JQGridVets_DataRequesting(object sender, JQGridDataRequestEventArgs e) 
    { 
     ObjectDataSourceVets.SelectParameters["BusID"].DefaultValue = e.ParentRowKey; 
     ObjectDataSourceVets.InsertParameters["BusID"].DefaultValue = e.ParentRowKey; 
    } 

behind- 코드에서

:

답변

0

은 내가 DataRequesting 이벤트를 설정 올바른 값.

하위 그리드에서 하위 레코드를 추가하는 데 사용됩니다.