用dstore / Memory存储器存储来填充dijit / form / select

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用dstore / Memory存储器存储来填充dijit / form / select相关的知识,希望对你有一定的参考价值。

我正在使用dojo版本1.14.2和dstore版本1.1.2。我试图用内存存储填充选择,而选择只是保持为空。

我正在使用的类是:“ dstore /内存”,“ dstore /旧版/ DstoreAdapter”,“ dijit / form / Select”

我正在尝试使用此代码填充选择:

 GetJobCategoriesConfirm: function (data, msg) {
            if (msg === "ok") {
                JobCategoryStore = new Memory({ data: data.JobCategoriesGetResult, idProperty: "Category" });
                this.selectJobCategory.set("labelAttr", "Category");
                this.selectJobCategory.setStore(JobCategoryStore);
                //this.selectJobCategory.set("store", JobCategoryStore); //doesnt work either

            }
            else {
                alert(msg);
            }
        }

我已经确认我从json格式的函数中获取数据(有14条记录),存储对象看起来正常,选择名称正确,数据存储中的列正确命名,并且CategoryID是一个字符串。没有抛出任何错误,只是选择没有填充数据。关于可能会发生什么的任何想法?

谢谢

Pete

答案

Site Penn在这里回答:https://github.com/SitePen/dstore/blob/master/docs/Adapters.md

我需要实现DstoreAdaptor,以便dstore可以用作旧dojo / store。新代码是:

          GetJobCategoriesConfirm: function (data, msg) {
            if (msg === "ok") {
                JobCategoryStore = new Memory({ data: data.JobCategoriesGetResult, idProperty: "Category" });
                var adaptedStore = new DstoreAdapter(JobCategoryStore); 
                this.selectJobCategory.set("labelAttr", "Category");
                this.selectJobCategory.setStore(adaptedStore);

            }
            else {
                alert(msg);
            }
        },

以上是关于用dstore / Memory存储器存储来填充dijit / form / select的主要内容,如果未能解决你的问题,请参考以下文章

我如何从Dojo dstore中删除所有项目?

虚拟内存 Virtual Memory

如何使用 contains 方法过滤 dstore?

ExtJS json 存储未填充

用Verilog写的ROM存储器里面有memory类型变量在Modelsim里面仿真时看不见是怎么回事?求高手指点。谢谢

转!!MySQL中的存储引擎讲解(InnoDB,MyISAM,Memory等各存储引擎对比)