Kendoui DataSource不绑定任何控件时



我在几个地方使用kendoui dataSource,有些人却被其他人限制为控制。呼叫是远程Web服务,可能很昂贵,我只是想先执行它。

我第一次需要数据是针对不绑定控制的情况。

I call a function similar to this to create the datasouce:
function BuildDS() {
    var DS = new kendo.data.DataSource({
        transport: {
            read: {
                url: "../WS/GetData",
                dataType: 'json',
                contentType: "application/json; charset=utf-8",
                type: "POST"
            }
        }
    });
    return DS;
}

i然后具有另一个通过DS。

迭代的函数
function GetName(DSIn, fieldID) {
    DSIn.read();
    var visname = "";
    $.each(DSIn.data(), function (idx, vis) {
        if (vis.FIELD_ID == fieldID) {
            visname = vis.DISPLAY_LABEL;
            return false;
        }
    });
    return visname;
}

我可以看到正在调用远程Web服务并按预期返回数据。但是,DS的数据()属性总是返回没有数据。

当我将相同的数据源绑定到Kendo控件时,将数据填充在DS。

从服务器中检索数据是一个异步操作,因此,当您迭代时,此调用尚未完成。您应该使用fetch

dataSource.fetch(function(){
  var data = this.data();
  console.log(data.length); 
  // now you can iterate over data
});

相关内容

最新更新