簡體   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