2014-01-31 5 views
0

이것은 jquery의 모든 서브 그리드 코드입니다. 내 문제는 사용자와의 드롭 다운이 있다는 것입니다. 각 사용자는 자신의 ID를 GET 방식으로 전송합니다. Subgrid 다른 값으로 표시 할 것으로 예상되는 다른 사용자를 선택할 때,하지만 수동으로 페이지를 새로 고친 후 (crtl + f5) 발생하지 않습니다. 나도 아약스와 json을 사용하고있어. 이것은 내 코드입니다.JQgrid에서 subgrid를 새로 고침/새로 고침하는 방법은 무엇입니까?

subGrid : true, 
     subGridRowExpanded: function(subgrid_id, row_id) { 
      //var projectIdRow = $('#list2').jqGrid('getCell',rowId,'projectid'); 
      //alert(row_id); 
      var subgrid_table_id; 
      subgrid_table_id = subgrid_id+"_t"; 
      $("#"+subgrid_id).html("<table id='"+subgrid_table_id+"'></table>"); 
      $("#"+subgrid_table_id).jqGrid({ 
      url:"/taskuri/subGrid/?id="+row_id+"&userid="+userAlocat, 
      datatype: "json", 
      colNames: ['SubTask',' ','Pri','Responsabil','Alocator','Alocat','Deadline','Estimat','Lucrat',' '], 
      colModel: [ 
       {name:"SubTask",index:"SubTask",width:'770%',align:"left",sortable:false}, 
       {name:'finished',index:'finished', width:'42%',sortable:false}, 
       {name:"Pri",index:"Pri",width:'60%', sortable:true}, 
       {name:"Responsabil",index:"Responsabil",width:'144%',sortable:false}, 
       {name:"Alocator",index:"Alocator",width:'140%',sortable:false}, 
       {name:"Alocat",index:"Alocat",width:'122%',sortable:false}, 
       {name:"Deadline",index:"Deadline",width:'122%',sortable:false}, 
       {name:"Estimat",index:"Estimat",width:'84%',align:"right",sortable:false}, 
       {name:"Lucrat",index:"Lucrat",width:'94%',align:"right"}, 
       {name:"Delete",index:"Delete",width:'48%',align:"right"}, 
      ], 
      height: '100%', 
      rowNum:20 
      }); 

     var useridLogat = $("#userid").val(); 
     }, 
     gridComplete: function(){ //afiseaza subgridurile by default 
       var grid = $("#list2"); 
       var svi_id = grid.jqGrid('getDataIDs'); 
       $.each(svi_id, function (index, rowId) { 
        $.post('/taskuri/checkSubtask/', { rowId: rowId}, function(data){ 
         if (data >= 1){ //data reprezinta numarul row urilor din query 
          grid.jqGrid('expandSubGridRow',rowId); 
         }else{ 
          // else ul face , ca userul sa numai dea click pe poza +, asa se evita sa afiseze headurl ala fara date, adica cand nu contine date subgridul 
          $('.sgcollapsed a').remove(); 
          $(".ui-sgcollapsed:eq("+index+")").removeClass("sgcollapsed"); 
         } 
        }); 
       }); 
     }, 

어떻게해야합니까? 들으

+0

그래, 나는 그것 금요일 오후 :) – Chester

답변

1
//if this textbox 
    $("#textinputID").keyup(function() { 
     reloadJQGrid(); 
    }); 


    //if this dropdown 
    $("#dropdownID").on("change",function() { 
     reloadJQGrid(); 
    }); 
0
try this  

    function reloadJQGrid(){ 

      jQuery.ajax({ 
       type: "post", 
       url: ${contextPath}"/webappName/methodName", 
       cache: false, 
       data:$("#testForm").serialize(), 
       success: function(response) 
       { 
       jQuery("#Testgrid").trigger("reloadGrid"); 
       }, 
       error: function(){ 
        alert(); 
        alert('server errors..'); 
        } 
       }); 
      } 

    //if this textbox 
    $("#textinputID").keyup(function() { 
     reloadJQGrid(); 
    }); 

    //if this dropdown 
    $("#dropdownID").on("change",function() { 
     reloadJQGrid(); 

    }); 
+0

확인을 알고,하지만 난이 곳이 함수를 호출? – Chester

+0

그리고 내가 드롭 다운에서 항목을 선택할 때 나는 항상 전체 jqgrid를 다시로드합니다. – Chester

+0

답변 수정을 시도하십시오. – user2675617

관련 문제