我遇到了DowpDownList Widget的问题,该Widget绑定到从ASP.NET Web服务获取数据的Kendo DataSource。在第22199行的静态列表的_render方法中抛出错误:
var isGrouped = this.dataSource.group().length;
错误的原因是group()方法返回一个空对象而不是一个被检测到的数组。
这是我的小部件的定义:
<input id="contactFunctionId"
name="FunctionID"
data-role="dropdownlist"
data-bind="value:FunctionID,
source: panelFunctions"
data-value-field="FunctionID"
data-text-field="Title"
data-auto-bind="false"
class="k-textbox"
required="required" />
这就是DataSource的定义(数据实际上只是加载而不是渲染):
this.PanelFunctions = new kendo.data.DataSource({
type: "odata",
transport: {
read: {
url: function () {
return ns.cnfg("crudServiceBaseUrl") + '/GetCommunityFunctions';
},
dataType: 'json',
cache: false
},
parameterMap: KTGR.AMZADB.SanitizeparameterMap
},
group: new Array(),
schema: {
model: FunctionModel,
data: function (response) {
return response;
},
total: function (data) {
return data.length;
},
},
error: logError,
serverPaging: false,
serverFiltering: true,
serverSorting: false,
requestStart: LogDataSourceRequestStart,
requestEnd: LogDataSourceRequestEnd
});
我有一堆类似的DataSources配置为与其他小部件一起工作,如AutoComplete,ListView等,但它们都没有显示出同样奇怪的行为。任何有关这方面的帮助都会非常感激,因为我现在已经开始了几天了!