Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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
Javascript Dojo-如何使用更新的ItemFileReadStore数据刷新组合框_Javascript_Html_Ajax_Dojo - Fatal编程技术网

Javascript Dojo-如何使用更新的ItemFileReadStore数据刷新组合框

Javascript Dojo-如何使用更新的ItemFileReadStore数据刷新组合框,javascript,html,ajax,dojo,Javascript,Html,Ajax,Dojo,我在Dojo中更改了combobox的ItemFileReadStore。 我的代码看起来像 <span dojoType="dojo.data.ItemFileReadStore" jsId="comboStore" data="transformData"> <select dojoType="mywidget.DropDown" id="transformCombo" valu

我在Dojo中更改了combobox的ItemFileReadStore。 我的代码看起来像

    <span dojoType="dojo.data.ItemFileReadStore"
                jsId="comboStore"
                data="transformData">
            <select dojoType="mywidget.DropDown" id="transformCombo" value="" store="comboStore" searchAttr="name" name="state" maxHeight="100"/>


我的小部件类似于dojo combobox小部件。我更改了transformData,但在再次完全重新加载页面之前,组合框不会更新。有什么想法吗?

如何刷新ItemFileReadStore?ItemFileReadStore—它是只读数据存储。在您的情况下,应该使用ItemFileWriteStore。看这个问题。我想这就是您要寻找的内容。

如果内容正在更改服务器端,并且您只想刷新本地副本而不重新加载页面,则可以在存储中调用
fetch
,并在收到新数据时更新组件

以下是我在更新服务器端内容时用于刷新dojox.grid.DataGrid的代码:

// initialise store and link to DataGrid
var store = new dojo.data.ItemFileReadStore({
    url: "items.json",
    clearOnClose: true,
    urlPreventCache: true
});
var grid = dijit.byId("grid")
grid.setStore(store);

// code to update local copy
store.close();
store.fetch({
    onComplete: function(items, request) {
        grid._refresh();
    }
});
如果您正在修改数据客户端,可能应该按照Andrei的建议使用ItemFileWriteStore

编辑:
grid.sort()
可用于刷新数据网格,作为
grid的替代方案。_refresh()
(谁的行为可能会随着时间的推移而改变)

请注意,如果连接了dnd管理器,则关闭存储不会对dnd产生气泡。我们需要拆除dnd并在“刷新”后重建