Kendo UI下拉列表数据源添加项目错误

时间:2014-02-05 04:15:44

标签: jquery sharepoint kendo-ui sharepoint-2013

我正在使用JQuery添加KendoUI.DropDown Box。它与数据源绑定良好,并按预期显示结果。但是当我尝试将自定义项添加到数据源时:

// create a new data item
dsBusinessUnit.add( { Value: "All Business Units" });

它出现以下错误:

SCRIPT5007: Unable to get property '__count' of undefined or null reference

我正在按如下方式绑定数据源,只要我不添加额外的项目就可以正常工作。

// business unit data source
var dsBusinessUnit = new kendo.data.DataSource({ 
    type: "odata",                   
    transport: {        
        read: 
        {
            url: "http://sharepointservername/_vti_bin/listdata.svc/dropdownfieldfunction",
            dataType: "json"
        }
    },
    schema: {       
        model: {
            fields: {
                Value: { type: "string" }
            }
        }
    },
    serverFiltering: true,
    serverSorting: true
});

我做错了什么。我在Telerik的网站上看过一些例子,他们提供了相同的语法。我尝试过包含所有.js文件,但它似乎不起作用。任何帮助都会被贬低。

2 个答案:

答案 0 :(得分:2)

我认为向dataSource添加新项目没有问题。基本上这里是演示的一个例子

  $("#products").kendoDropDownList({
                    dataTextField: "ProductName",
                    dataValueField: "ProductID",
                    dataSource: {
                        transport: {
                            read: {
                                dataType: "jsonp",
                                url: "http://demos.telerik.com/kendo-ui/service/Products",
                            }
                        }
                    }
                });

          $("#btn").click(function(){
            $("#products").getKendoDropDownList().dataSource.insert({
            ProductName: "Foo",
             ProductId: 22
            })
          })

Here is a running example

答案 1 :(得分:0)

每当你想为kendo UI Objects做任何CRUD(创建,读取,更新或删除操作)时,你必须在kendo ui ajax调用中定义这个过程。

定义创建的方法,然后您可以将自定义数据添加到下拉列表