0

我目前正在测试 kendoUI 并开发一个小 webapp。

出于某种原因,我需要将我的 dataSource.datas 从一个视图传递到另一个视图。为了做到这一点,我使用 sessionStorage,当我尝试将 dataSource.data() 放入 sessionStorage 时,返回为空。

当我放置日志以测试我的 dataSource.data() 是否正确插入/返回时,请参见此处

dataSource.data() 日志

但是,当我放一个日志来测试 ma dataSource 时,我可以清楚地看到 _data 不是空的,如下图所示:

数据源_data

有人知道我的问题的根源吗?

编辑

这是显示我如何将数据源添加到 sessionStorage 的代码:

var qui   = (e.view.params.qui)  ? e.view.params.qui  : "";
var quoi  = (e.view.params.quoi) ? e.view.params.quoi : "";

dataSourceFournisseurs = new kendo.data.DataSource({
        transport : {
             read : {
                   url:"annuaire.json",
              dataType:"json"
                     }
        },
        schema : {
            data : "data",
                   model : {
                       DISTANCE: function() {
                           var lat   = this.get("LATITUDE");
                           var lng   = this.get("LONGITUDE");

                           var distance = APP.distanceBetweenCoords(lat, lng);

                           return "à " + distance + "km";          
                        }
                   }
       },
               sort : {
            field : "LIBELLE",
              dir : "asc"
       },
       filter: [
            { field: "LIBELLE", operator: "contains", value: qui },
            { field: "NAFLIBELLE", operator: "contains", value: quoi }
       ]

});
console.log(dataSourceFournisseurs);
session.setValueObject("liste", dataSourceFournisseurs.data());

这是我检索它的方法:

var datas = session.getValueObject("liste");
console.log(datas);

PS:

  • setValueObject 和 getValueObject 是我编写的两种方法,用于对我设置的数据进行字符串化并解析检索到的数据(我使用它们一年多了)

  • 这两个console.log是代表上图的那些(图1是第二个日志,图2是第一个日志)

编辑结束

4

1 回答 1

0

尝试使用dataSourceFournisseurs.view(). 这应该为您提供所有数据。Usingdata用于初始配置,而不是用作检索数据的方法。

好机会!

于 2014-10-13T17:56:35.620 回答