繁体   English   中英

KendoUI数据源未绑定任何控件时

[英]KendoUI Datasource when not bound to any controls

我在几个地方都使用KendoUI数据源,有些绑定到控件,有些则没有。 该调用是针对远程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;
}

然后,我有了另一个遍历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的data()属性始终不返回任何数据。

当我将同一数据源绑定到Kendo控件时,数据将填充到DS中。

从服务器检索数据是异步操作,因此在进行迭代时,此调用尚未完成。 您应该改用fetch

dataSource.fetch(function(){
  var data = this.data();
  console.log(data.length); 

  // now you can iterate over data
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM