2012-10-04 2 views
0

레일 위의 루비 애플리케이션에서 jquery grid가 아래와 같습니다. projectId에 따라 데이터가 표에 표시되어야합니다. 그러나 그것은 그렇게 작동하지 않습니다. 나는 url이 projectId를 기반으로 변경되지 않는다는 것을 관찰했다.jqgrid에 새 데이터로드가 작동하지 않습니다.

function editTeam_details(projectId) 
{ 
    $("#grdProjectIdentification").jqGrid({ 

      url:'/project_identification_team?project_id='+projectId, 

      colNames: ["Sr.No","Team Leader"], 

      colModel: [ 
      { 
       name: "Sr No", 
       index: "Sr No", 
       width: 15, 
       align: "left", 
       sortable:true 
      }, 
      { 
       name: "Team Leader", 
       index: "Team Leader", 
       width: 35, 
       align: "left", 
       sortable:false 
      }], 
    width: 800, 
      height: 100, 
      // Paging 
      paging : true, 
      toppager: true, 
      loadonce : false, 
      rowNum:20, 
      rowList:[20,40,60], 
      viewrecords: true, 
      pager: '#pagerProjectIdentification', 
      datatype: 'json', 
      sortorder: "desc", 
      multiselect: false, 
      caption: "1. Project Identification" 
     }).jqGrid("navGrid", "#pagerProjectIdentification", { 
      edit: true, 
      add: true, 
      del: true, 
      search: true, 
      refresh: true 
     }, 
     {}, // settings for edit 
     {}, 
     {}, // settings for del 
     {}, // settings for delete 
     { 
      sopt: ["cn"] 
     } // Search options. Some options can be set on column level 

     ) 
} 

답변

0

당신은 URL의 project_id 매개 변수의 값이 모든 요청에 ​​해당 기능의 호출에 의해 평가됩니다

url:'/project_identification_team?project_id='+projectId 

경우

url: '/project_identification_team', 
postData: { 
    project_id: function() { 
     return projectId; 
    } 
} 

에 대체하려고한다 서버에. 자세한 내용은 the answer을 참조하십시오.

0

답장을 보내 주셔서 감사합니다. Oleg.

아래에서 시도해 보았습니다.

$ ("# grdProjectIdentification"). GridUnload(); ajaxGridOptions : {cache : false}

+0

코드의 두 번째 부분 ('ajaxGridOptions : {cache : false}')은 의미가 없습니다. '$ ("# grdProjectIdentification"). GridUnload()'를 사용하면'editTeam_details' **를 한 번 더 호출하는 문제를 해결할 수 있습니다 **. 'editTeam_details' **의 코드는 그리드를 생성합니다 **. 예를 들어 페이지를 초기화하는 동안 그리드를 한 번 만들어야합니다. 그리드 * content *를 다른 매개 변수로 새로 고침해야하는 경우'$ ("# grdProjectIdentification"). trigger ("reloadGrid")를 대신 호출해야합니다. 다시로드하기 전에'setGridParam'을 사용하여'postData'에서 사용 된 값을 변경하거나'url'을 변경할 수 있습니다. – Oleg

관련 문제