【问题标题】:How to bind kendo grid after update grid data?更新网格数据后如何绑定剑道网格?
【发布时间】:2016-08-10 06:22:21
【问题描述】:

//这里我从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")
                    }
                )
            }
        }

//我用的是剑道网格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>

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

【问题讨论】:

    标签: javascript angularjs kendo-ui kendo-grid


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-21
      • 2015-12-06
      • 1970-01-01
      • 1970-01-01
      • 2020-01-23
      相关资源
      最近更新 更多