Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dojo Dgrid 0.4和dstore:在没有put请求的情况下更新UI中的行_Dojo_Dgrid_Dstore - Fatal编程技术网

Dojo Dgrid 0.4和dstore:在没有put请求的情况下更新UI中的行

Dojo Dgrid 0.4和dstore:在没有put请求的情况下更新UI中的行,dojo,dgrid,dstore,Dojo,Dgrid,Dstore,在Dgrid 0.3.16中,我使用了一个可观察的存储,当存储中的数据发生更改时,我调用了存储通知函数。不是“放”,因为我只需要一个UI更新,这是一个特定的情况 store.notify(object, existingId); 我现在已经将Dgrid升级到0.4版,并使用“dstore”作为存储。存储的创建方式如下: var store = new declare([ Rest, SimpleQuery, Trackable, Cache, TreeStore ])(lang

在Dgrid 0.3.16中,我使用了一个可观察的存储,当存储中的数据发生更改时,我调用了存储通知函数。不是“放”,因为我只需要一个UI更新,这是一个特定的情况

store.notify(object, existingId);
我现在已经将Dgrid升级到0.4版,并使用“dstore”作为存储。存储的创建方式如下:

        var store = new declare([ Rest, SimpleQuery, Trackable, Cache, TreeStore ])(lang.mixin({
            target:"/ac/api?fetchview",
            idProperty:"$uniqueid", 
            useRangeHeaders: true
        }, config));

        store.getRootCollection = function (parent, options) {
            return this.root.filter({parent: parent.$position},options);
        };

        store.getChildren = function (parent, options) {
            return this.root.filter({parent: parent.$position},options);
        };

        store.mayHaveChildren = function (item) {
            return item.$iscategory;
        };

        this.collection = store;

当一行更改而不调用“put”时,如何通知商店?我需要dGrid来重新渲染行。

d存储遵循一个模型,该模型更类似于使用on和emit方法的典型事件驱动方法。dstore支持添加、更新和删除事件-前两个预期对象具有引用该项的目标属性;delete事件需要一个id属性引用项标识的对象

因此,要通知更新的项目,请调用store.emit'update',{target:updateItem}


emit方法记录在中,事件类型在中进一步列举。

d存储遵循一个模型,该模型更类似于具有on和emit方法的典型事件驱动方法。dstore支持添加、更新和删除事件-前两个预期对象具有引用该项的目标属性;delete事件需要一个id属性引用项标识的对象

因此,要通知更新的项目,请调用store.emit'update',{target:updateItem}


emit方法记录在下,事件类型在中进一步列举。

谢谢,这是有效的,但是当我的项目是父目录树中的子项目时,项目会更新到错误的位置。它将移动到当前树父级的第一个子级之前。如何保持更新项目的当前位置?应该可以保持顺序-例如,在中编辑和保存子项目。如果您能提供有关您的具体案例的更多详细信息,例如您正在使用的存储模块,那么可以就此提出另一个问题。我删除了以前的评论。问题是我在我的商店里使用了这些混音:Rest、Trackable、TreeStore、simplecury。一旦我删除了SimpleQuery,所有在存储后正确恢复到原始位置的项目。发出“更新”。。。目前我不需要SimpleQuery,但我真的不知道为什么会发生这种情况。谢谢,这是可行的,但当我的项目是父目录树中的子项目时,项目会更新到错误的位置。它将移动到当前树父级的第一个子级之前。如何保持更新项目的当前位置?应该可以保持顺序-例如,在中编辑和保存子项目。如果您能提供有关您的具体案例的更多详细信息,例如您正在使用的存储模块,那么可以就此提出另一个问题。我删除了以前的评论。问题是我在我的商店里使用了这些混音:Rest、Trackable、TreeStore、simplecury。一旦我删除了SimpleQuery,所有在存储后正确恢复到原始位置的项目。发出“更新”。。。目前我不需要简单,但为什么会发生这种情况,我真的不知道。