2012-05-08 3 views
0

인라인 편집을 위해 검도 그리드와 함께 검도 datasoure를 사용하고 있습니다. 새 행을 추가/작성하면 새 행이 내 작성 URL에 게시됩니다 (게시물을 사용 중입니다). 내 문제는 쿼리 params, ID 필드의 값은 0입니다, 그것을 비우거나 쿼리 문자열에서 일부 js event.before 만들기 URL에 게시하는 그것을 제거하는 방법이 있습니다.Kendo datasoure 및 그리드 인라인 편집, 새 항목 추가, 항상 ID가 0 인 새 행을 만듭니다.

감사합니다.

답변

1

ID와 같은 소리는 자동 증가 필드 여야하며,이 경우 ID를 데이터베이스에 삽입하지 않아야합니다.

create: { 
    url: "[your create url]", 
    complete: function(e){ 
     $('#grid').data('kendoGrid').dataSource.read(); 
    } 
} 

문제를 해결해야합니다 그런 다음 데이터 소스는 데이터베이스에 할당 된 ID와 ID 필드를 채울 것이다 그리드 후 생성 새로 고침이 (문서화되지 않은 방법) 같은 것을해야한다.

0

아니요, 최신 KendoUI의 datasource 전송 방법에는 '완료'라는 매개 변수가 없습니다. jquery ajax 요청을 사용해야합니다. 또한 KendoUI의 trasnport 메소드 또는 jquery ajax 만 사용할 수 있습니다. 결합은 작동하지 않습니다. 예를 들면 다음과 같습니다.

create:function (options) { 
    $.ajax({ 
     url:base + entityName + "/create", 
     data:"models=" + kendo.stringify(options.data.models), 
     type:"POST", 
     dataType:"json", 
     async:false, 
     global:false, 
     success:function (result) { 
      if (result.errors == null) { 
       //GridHandlers.refreshGrid(gridId); 
       options.success(result); 
      } else { 
       GridHandlers.accounceAndResume(gridId, result.errors); 
      } 
     }, 
     error:function (xhr, textStatus, errorThrown) { 
      console.log("Error: " + (errorThrown ? errorThrown : xhr.status)); 
      GridHandlers.accounceAndResume(gridId, "Could not create new record. Connection problem!"); 
     } 
    }); 
}, 

성공 방법에서 무엇을하는 것이 중요합니다. 해피 코딩!

관련 문제