2017-04-21 1 views
1

각도 UI 그리드에서 응용 프로그램의 Kendo UI 그리드로 전환 중입니다. 현재 검색 기준은 다음 (아래처럼) 서비스를 통해 내 MVC 컨트롤러 방법으로 전송 검색 양식을 통해 수집됩니다 그러나Kendo Grid Pass 매개 변수 매개 변수로 MVC 각도로

generalsearchService.submitSearch($scope.form) 
    .success(function (data) { 
    $scope.gridOptions.data = (data); 
    }); 

, 나는 검도를 사용하는 방법에 양식 데이터를 전달하는 방법을 알아낼 수 없습니다 그리드. 나는 시도 다음

var form = $scope.form; 
$scope.mainGridOptions = { 
    dataSource: new kendo.data.DataSource({ 
     type: "aspnetmvc-ajax", 
     transport: { 
      read: "/SSQV4/SSQV5/Search/SubmitCriteria", 
      type: "POST", 
      data:{form: form} 

     }, 
     schema: { 
      data: "Data", 
      total: "Total" 
     }, 
     pageSize: 25, 
     serverPaging: true, 
     serverFiltering: true, 
     serverSorting: true 

    }), 

내 MVC 컨트롤러 방법 (첫 번째 줄) :

 public async Task<ActionResult> SubmitCriteria(ContractorSearchViewModel form) 

업데이트 : 나는에 읽기 URL을 변경하여 컨트롤러에 매개 변수를 전달 할 수 있었다 함수 아래 같은

read: function() { 
       generalsearchService.submitSearch(form) 
        .success(function (data) { 
         return data; 
        }); 
      } 

그러나,이 방법이 올바르게 실행하더라도 격자 수행 새 데이터로 업데이트하지 마십시오.

모든 도움을 주시면 대단히 감사하겠습니다.

답변

1

위의 서비스 호출이 MVC 컨트롤러에 도달했지만 데이터에 그리드가 채워지지 않았습니다. 서비스 요청은 약간 조정해야했습니다. 여기에 마지막 일 것입니다 :

dataSource: new kendo.data.DataSource({ 
      transport: { 
       read: function (e) { 
        generalsearchService.submitSearch(e.data, form) 
         .then(function success(response) { 
          e.success(response.data); 
         }); 
       } 
      }, 
      schema: { 
       data: "Data", 
       total: "Total" 
      }, 
      pageSize: 25, 
      serverPaging: true, 
      serverFiltering: true, 
      serverSorting: true 

     }), 

는 "e.data는"실제로 페이지, 페이지 크기, 필터를 보내고 "형태"저장 프로 시저에 대한 매개 변수의 역할을 수집 양식 데이터 동안 정보를 정렬합니다. 내 서비스를 사용하여 실제로 모든 정보를 보내려면 DataSourceRequest에 대한 "[DataSourceRequest]"도 제거해야했습니다. 서비스의 http 호출은 다음과 같습니다.

this.submitSearch = function (command, form) { 
return $http.post('/SSQV4/SSQV5/Search/SubmitCriteria', {'command': command, 'form': form}); 

}};

은과 MVC 컨트롤러 방법은 다음과 같습니다

 public async Task<ActionResult> SubmitCriteria(DataSourceRequest command, ContractorSearchViewModel form) 

내가이 다른 사람을 도움이되기를 바랍니다. 해피 코딩!