2016-08-10 139 views
-1

//这里我调用HttpGet方法从API获取数据列表。如何在更新网格数据后绑定kendo网格?

var apiPath = "http://localhost/unitek/#/ParameterMaster"; 
          Restangular.all(apiPath).getList().then 
          (
           function (response) 
           { 
            $scope.consultationParamItems = response.data.plain(); 

            $scope.consultationItemsGridOptions = consultationItemsGridOptionsFn(); 
           }, 
           function (response) 
           { 
            alert("Error Retriving Items" + response.data); 
           } 
          ); 

//这里我配置剑术网格

function consultationItemsGridOptionsFn() 
     { 
      var options = { 
          dataSource: 
           { 
            data: $scope.consultationParamItems, 
            pageSize: 10, 
            serverPaging: false, 
            serverSorting: false 

           }, 
           autoBind:true, 
           sortable: true, 
           pageable: true, 
           resizable: true, 
           reorderable:true, 
           groupable: false, 
           columns: 
            [ 

             { 
              field: "ShortDesc", 
              title: "Parameter Name", 
              width:"20%" 
             }, 

             { 
              field: "Remarks", 
              title: "Remarks", 
              width:"15%" 
             }, 
             { 
              field: "ConsultationParamSequence", 
              title: "SEQ", 
              width:"20%" 
             }, 
             { 
              field: "ICD10Code", 
              title: "ICD10Code", 
              width:"20%" 
             }, 
             { 
              field: "ICD10Remarks", 
              title: "ICD10Remarks", 
              width:"20%" 

             }, 
             { 
              command: ["edit"], title:"  ", width: "100px" 

             }, 
             { 
              command: ["destroy"], title: " ", width: "100px" 
             } 
            ], 
            editable:true, 
            //{ 
              // mode: "inline" 
            //}, 
             toolbar:[{ name: "create", text: "Add " }] 
          }; 
       return options; 
     } 

//在这里,我保存更新的网格

$scope.saveConsultationParameter=function() 
     { 
      if($scope.consultationParamItems!=undefined) 
      { 
       Restangular.all('consultparam/consultationparam/saveItems').post($scope.consultationParamItems).then 
       (
        function() 
        { 
         alert("Save successfully"); 
        }, 
        function() 
        { 
         alert("Data Save Failed") 
        } 
       ) 
      } 
     } 

//我用剑道网格UI

<kendo-grid id="consultationItemsGrid" k-options="consultationItemsGridOptions"></kendo-grid> 

//这里我叫保存方法

<div class="panel-ctrls"> 
           <span class="button-icon pull-right"><i class="ti ti-save" ng-click="saveConsultationParameter()"></i></span> 
          </div> 

我可以加载数据到剑道网格。如果我编辑网格中的数据或添加新的行到网格和保存意味着它应该保存在本地数据库。但我无法将更新的数据保存到Db.when我调试时,我才知道更新的数据不绑定与datasource.i找不到解决方案。请帮助我。

回答

0

而是张贴$scope.consultationParamItems的,你可以检索和发布网格数据项:

$("#consultationItemsGrid").data("kendoGrid").dataSource.view().toJSON()

然而,很多更好的办法是配置网格数据源的CRUD操作。这将帮助您仅提交编辑或插入的项目,而不是像当前实施中那样提交所有项目。

http://docs.telerik.com/kendo-ui/framework/datasource/crud