当数据源数据不在范围内时,AngularJS ng-model未绑定到Kendo UI下拉列表

时间:2016-12-23 22:12:44

标签: angularjs kendo-ui kendo-dropdown kendo-datasource

我正在使用angularjs与Kendo UI开发复杂的应用程序。
这是一个简单的观点:

<div id="example" ng-app="KendoDemos">
    <div ng-controller="MyCtrl">
        <h4>DropDown</h4>
        <select kendo-drop-down-list="" options="options" ng-model="selectedProduct"></select>
    </div>
</div>

这是简单的js:

<script>
    angular.module("KendoDemos", [ "kendo.directives" ])
        .controller("MyCtrl", function($scope){
            $scope.selectedProduct = 51;
            $scope.options = {
              autoBind: true,
              dataTextField: "ProductName",
              dataValueField: "ProductID",
              filter: "contains",
              suggest: true,
              dataSource: {
                transport: {
                  read: {
                    dataType: "jsonp",
                    url: "//demos.telerik.com/kendo-ui/service/Products"
                  }
                },
                pageSize: 50
              }
            };
        })
</script>

现在您可以看到$scope.selectedProduct = 51;pageSize: 50,这意味着永远不会使用预定义值初始化下拉列表。您可以使用值1到50更新$scope.selectedProduct,并查看实际初始化的下拉列表。这是突出问题的最简单的代码。在现实世界中,这几乎是相同的场景,所以我想弄清楚如何以优雅的方式使这个绑定工作。

这是一个道场:http://dojo.telerik.com/OpeqO

1 个答案:

答案 0 :(得分:0)

您可以观看selectedProduct,如果新值为null,您可以更改默认值。

    with rNum As(
    SELECT  t.*,RowNum = row_number() over (order by date)
     FROM testdb.dbo.testtable t
     )
     select * from rNum where (RowNum % 12) = 0