2014-01-13 1 views
1

admin 편집 인터페이스에 phpgrid를 사용하려고합니다. 내가 작업중인 테이블은 역사적인 가치를 저장하도록 설계되었습니다. 따라서이 경우에는 학교가 만들어졌고 만료되었을 때의 날짜 시간을 가진 학교가 있습니다. PHPgrid는 CRUD 서비스를 처리하지만 레코드를 삭제하지 않고 종료 날짜를 현재 날짜와 시간으로 업데이트하려고합니다.PHPGrid는 삭제 대신에 삭제를 재정의하여 삭제합니다.

누구든지 PHPGrid를 사용하여이 작업을 수행하는 방법을 알고 있습니까?

+0

'DELETE FROM' 또는 해당 SQL 쿼리에 대한 코드베이스를 살펴본 다음 비헤이비어를 그냥 무시 했습니까? –

+0

처음에는 코드베이스를 변경하고 내가 할 수있는 고유 한 것이 있는지 확인하고 싶습니다. 타사 라이브러리를 변경하면 업데이트로 장기간 지원하기가 어려울 수 있습니다. –

답변

2

궁극적으로이 작업을 수행하려면 삭제 단추의 click 이벤트에 바인딩을 해제 한 loadComplete 함수를 추가 한 다음 내 자신의 이벤트 함수와 ajax 호출을 추가해야합니다. 이상적이지는 않지만 작동합니다.

 $onGridLoadComplete = <<<ONGRIDLOADCOMPLETE 
    function(status, rowid) 
    { 
     $("#del_school").unbind('click'); 
     $("#del_school").click(function(){ 

      if($(".ui-state-highlight").attr("id") != undefined){ 
       if(confirm("Are you sure you want to delete this record?")){ 

        var id = $(".ui-state-highlight").attr("id"); 

        $.ajax({ 
         url: "/phpgrid-ext/index.php?faction=expireSchool&id="+id 
        }).done(function() { 
         $("#refresh_school").trigger("click"); 
        }); 


       } 
      } 
      else 
      { 
       alert("Please select a record to delete."); 
      } 

      return false; 
      }); 
    } 
ONGRIDLOADCOMPLETE; 

$dg2->add_event("jqGridLoadComplete", $onGridLoadComplete); 
+1

나는 더 나은 대답을 발견했다. set_jq_editurl ("/ admin/jqgrid/editSchool") 함수를 통해 다른 저장 스크립트를 설정할 수 있습니다. 그 파일 내에서 다음 값을 가질 요청 변수 oper에 대한 스위치를 설정해야합니다. 그러면 기본 키에 "id"요청 필드를 사용합니다. 마지막으로 다른 모든 필드는 데이터베이스에서 가져온 이름으로 전달됩니다. 이를 통해 사용자 정의 저장 논리를 수행 할 수 있습니다. –

관련 문제