更新网格数据后如何绑定kendo网格?

时间:2016-08-10 06:22:22

标签: javascript angularjs kendo-ui kendo-grid

//这里我从API调用HttpGet方法获取数据的获取列表。

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")
                    }
                )
            }
        }

//我使用了kendo grid ui

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

//我在这里调用save方法

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

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

1 个答案:

答案 0 :(得分:0)

您可以检索并发布网格数据项,而不是发布$scope.consultationParamItems

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

然而,更好的方法是为CRUD操作配置Grid DataSource。这将帮助您仅提交已编辑或插入的项目,而不是像当前实施中那样提交所有项目。

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