新 Kendo 数据源为空?

New Kendo Data Source is null?

所以我有一个这样定义的数组

var newArrary = Array();
for (var i = 0; i < result.length; i++) {
   if (result[i].Id != TaskId) {
       newArrary.push({text:result[i].Name, value:result[i].Id})
   }
}

我做了 console.log 并且可以看到数组已正确初始化。

然后我继续创建一个新的数据源

 var dataSource = new kendo.data.DataSource({
        data: newArrary
    });

并检查它是否正确初始化

但是当我尝试使用下拉列表中的 setDataSource 方法将其设置为下拉列表时,它会抱怨 Uncaught TypeError: Text.indexOf is not a function

所以我做了一个简单的 dataSource.at(1) 并得到了 'undefined'。不确定我在这里做错了什么?

更新添加更多代码:

我如何Created/Configured下拉

@(Html.Kendo().DropDownListFor(m => m)
              .BindTo(list)
              .DataTextField("Text")
              .DataValueField("Value")
              .HtmlAttributes(attributes)
              .OptionLabel(string.IsNullOrEmpty(label) ? (required && @dropDownList.Value != "0" && @dropDownList.Value != "" ? "" : " ") : label)
              .Value(@dropDownList.Value)
              .TemplateId("myTemplate")
              .ValueTemplateId("dmyTemplate")
        )

以及我如何使用 setDatasource

setTask = function (result, taskCodeStartList, taskCodeResultLisr) {
    var selectedTaskItem = $("#" + taskStartList).data("kendoDropDownList")
    var selectedFilterTask = $("#" + taskResultLisr).data("kendoDropDownList").value()
    var newArrary = Array();

    for (var i = 0; i < result.length; i++) {
        if (result[i].Id != selectedFilterTaskId) {
            newArrary.push({text:result[i].Name, value:result[i].Id})
        }
    }

    var dataSource = new kendo.data.DataSource({
        data: newArrary
    });

    selectedTaskCodeItem.setDataSource(dataSource);
    return selectedTaskCodeItem;
};

dataTextFielddataValueField 设置为大写字母 ("Text", "Value"),但 newArrary 项的字段为小写字母 ( textvalue)。这些应该匹配,否则小部件将无法处理新数据。

http://dojo.telerik.com/OQOle

我不确定

So I did a simple dataSource.at(1) and get 'undefined'.

部分,因为其他一切看起来都还不错。